Barnes secured his place in the light fly-weight final after a unanimous points decision over Azerbaijan's Salman Alizada.
The two-time Olympic bronze medallist did suffer a heavy nose bleed which required treatment, but still came out on top in each of the three rounds, with three scores of 30-27.
The final, to be held on Saturday, will feature Barnes against Russia's David Ayrapetyan.
Meanwhile, fellow Belfast man Michael Conlan defeated Russian Ovik Ogannisian on a split-points decision to set up a final against Welshman Andrew Selby on Saturday.
The Olympic bronze medallist dominated his opponent in the semi-final and looked at ease throughout, despite one judge giving the fight to the Russian.
Conlan was awarded the fight with the score 30-27, 28-29, 30-27.
Team Ireland are also in line for at least another silver medal courtesy of Olympic silver medallist John Joe Nevin, who won his bantam-weight clash with Russia's Wladimir Nikitin.
And middlewight Jason Quigley also won out over the Ukraine's Ievgen Khytrov.