Carlos Queiroz's Portugal went in to the game virtually assured of progression to the knock-out phase and neither team showed any of the quality expected of such a highly-anticipated contest.
Eduardo denied Nilmar and Ramires to preserve Portugal's 22nd clean sheet in 26 matches but it was a game that will not live long in the memory.
Brazil went straight on the offensive and Dani Alves drove wide from distance as they looked for an early breakthrough.
Portugal were struggling to penetrate and when they did, Tiago sliced a volley wide from a cross from Raul Meireles.
The Portuguese felt Juan should have been sent off for blocking a pass destined for Cristiano Ronaldo with his hand.
And they were also furious when Tiago was shown a yellow card - one of seven first-half cautions - after the midfielder went down under Gilberto Silva's challenge in the area.
Dunga's men should have grabbed the lead when Luis Fabiano slipped through for Nilmar and the little front-man's reaction shot was pushed on to the bar by goalkeeper Eduardo.
Maicon lashed over from the touchline but also clipped in a cross that Fabiano headed into the ground and over the bar.
And Ronaldo fired wide from 45 yards just before the break as the Portuguese grew more frustrated.
The Real Madrid star again broke clear of the Brazil defence immediately after the restart, only to be denied by a fine sliding challenge from Lucio.
The Portugal captain also had a free kick deflected over the bar by his team-mate Pepe.
Brazil defender Michel Bastos also drove wide from distance and Fabiano looped a header straight at goal as the mediocrity continued.
Portugal subsitute Simao failed to test Brazil goalkeeper Julio Cesar.
Lucio was forced to clip across his own goal to deny Ronaldo and Meireles shot weakly straight at Cesar.
The midfield remained congested and Brazil's Alves thumped another shot well wide from more than 25 yards.
Ronaldo also lifted a shot over the bar from a fine cross from Simao and Ramires' deflected effort was palmed away by Eduardo in added time.
Portugal (4-5-1): Eduardo; Costa, Alves, Ricardo Carvalho, Coentrao; Danny, Meireles (Veloso 84), Pepe (Mendes 64), Tiago, Duda (Simao 54); Ronaldo.Subs (not used): Beto, Fernandes, Ferreira, Rolando, Miguel, Liedson, Almeida.
Brazil (4-2-3-1): Cesar; Maicon, Lucio, Juan, Michel Bastos; Felipe Melo (Josue 44), Gilberto Silva, Alves, Nilmar, Baptista (Ramires 83); Fabiano (Grafite 85) Subs (not used): Gomes, Doni, Luisao, Thiago Silva, Gilberto, Kleberson, Robinho.