The win in Belo Horizonte keeps Brazil on track for their third consecutive Confederations Cup success, and secures their fifth straight win.

Diego Forlan missed an early penalty for Uruguay and the hosts eventually capitalised through Fred just before half-time.

Edinson Cavani equalised almost immediately after the restart when Brazil failed to clear their lines, but the home fans were not to be denied as Paulinho headed home a Neymar corner with just five minutes remaining.

Both sides named attacking line-ups with Uruguay featuring Luis Suarez, Edinson Cavani and Forlan, while Brazil went with similar attacking intent as Hulk, Oscar, Neymar and Fred all started.

After a slow start, the game sprang into life in the 13th minute as David Luiz hauled Uruguay captain Diego Lugano to the floor from an in-swinging corner and referee Enrique Osses pointed immediately to the penalty spot.

Forlan stepped up to take the spot-kick, but Julio Cesar produced a fantastic save low to his left to keep matters level.

The hosts survived another scare in the 23rd minute when Cesar came rushing off his line, but Cristian Rodriguez could only loop a header just over the crossbar.

As Brazil got back into the game, chances were plentiful for either side, but accuracy let them down as Hulk and Forlan hit efforts off target.

But it was the tournament hosts who made the breakthrough just four minutes shy of half-time.

A wonderfully clipped ball over the Uruguay defence was taken down on the chest by Neymar. His effort from a tight angle was saved by Fernando Muslera but the ball fell to Fred who bundled home from inside the six-yard box.

Suarez wasted a glorious opportunity to level just before the break, but Uruguay did equalise just three minutes after the restart.

Fine play down the right wing saw Uruguay advance on Brazil’s penalty area, with the ball fired into the box, four separate chances were not taken to clear the ball and Cavani eventually made them pay, firing a left-footed shot beyond Cesar.

Hulk had a penalty appeal turned down before lashing a free-kick that Fernando Muslera did well to parry and Suarez was denied in stunning circumstances by Cesar as both sides sought a place in the final.

Cavani saw a deflected effort bobble agonisingly wide of the post before Uruguay’s misery was compounded, five minutes before time.

Paulinho rose highest at the back post to thunder a Neymar corner beyond Muslera with his head and secure a place in the final where Brazil will face either world champions Spain or Italy in Sunday’s final at the Maracana.