Raul Meireles scored in each half to help Portugal earn a 3-1 win over 10-man Cameroon in a World Cup warmup game Tuesday in Covilha, Portugal.
The FC Porto midfielder struck in the 32nd and 47th minutes as Portugal dictated the run of play.
Cameroon captain Samuel Eto'o was sent off in the 34th after being shown his second yellow card for a high tackle on left back Duda.
Achille Webo pulled one back with a header in the 69th, seven minutes after coming on as a substitute but Nani chipped over goalkeeper Idriss Kameni with nine minutes left.
Cristiano Ronaldo was twice denied inside the penalty area when he looked sure to score, leaving him still looking for his first international goal in 16 months.
Eto'o joined the Cameroon squad last week after winning the Champions league title with Inter Milan.
He threatened to sit out the World Cup after being criticized by former Cameroon great Roger Milla, who rebuked the striker for failing to reproduce his club form with the national team.
Eto'o was Cameroon's most dangerous player in attack before exiting the game.
The result was a big step forward for Portugal after being held to a 0-0 draw by tiny Cape Verde last week. The Portuguese are playing against three African teams before it opens Group G play against Ivory Coast on June 15. It takes on Mozambique in Johannesburg on June 8.
Group G also features North Korea and Brazil.
Cameroon, which in 1990 reached the World Cup quarterfinals, plays Japan, Denmark and the Netherlands in Group E. It drew 1-1 with Slovakia in a friendly last weekend.
Portugal: Eduardo; Paulo Ferreira (Miguel 45), Ricardo Carvalho, Bruno Alves (Rolando 63), Duda (Fabio Coentrao 63); Pedro Mendes (Ricardo Costa 73), Raul Meireles, Deco; Cristiano Ronaldo, Simao Sabrosa (Nani 45), Liedson (Danny 45).
Cameroon: Idriss Kameni; Georges Mandjeck, Nicolas Nkoulou, Stephane Mbia, Benoit Assou-Ekotto; Alexandre Song (Landry Nguemo 62), Jean Makoun, Eric Choupo-Moting (Mohamadou Idrissou 62), Achille Emana (Achille Webo 62), Eyong Enoh; Samuel Eto'o.