Mario Gomez's second-half header ensured Germany made a winning start to Euro 2012 after Portugal had threatened to frustrate Joachim Loew's side.
Germany dominated possession but struggled to create many chances until Gomez broke the deadlock from Sami Khedira's cross in the 72nd minute.
Portugal were disappointing and only came to life after Germany scored.
Pepe hit the bar with a rare first-half chance while Nani was also denied by the woodwork late on.
Portugal must bounce back against Denmark on 13 June, the same day Germany face Netherlands, who lost 1-0 to the Danes in their opening game.
This match was billed as one of the most eagerly-awaited contests of the group stages.
But three-time world champions Germany and Euro 2004 runners-up Portugal struggled to entertain despite the wealth of talent on display.
The Germans included seven Bayern Munich players in the starting line-up and, judging by their first-half performance, they appeared to be suffering a hangover from their Champions League final defeat to Chelsea last month.
Portugal were unadventurous and clearly determined not to lose as they stifled Germany's attacking threat to such an extent that Loew's side only once seriously tested keeper Rui Patricio in the opening 45 minutes.
That came in the second minute when Gomez forced Patricio into a diving save after connecting with a cross by former Manchester City defender Jerome Boateng, playing despite Loew's threat to start Lars Bender at right-back after Boateng was pictured with a model in the early hours of last weekend.
New Arsenal recruit Lukas Podolski spurned a rare chance in the 31st minute when he blazed over from 15 yards after good work by Khedira, but it was Portugal, despite their defensive tactics, who went closest to breaking the deadlock before the interval.
With his club manager Jose Mourinho watching from the stand, Real Madrid's Pepe rattled the underside of the bar, after the German defence failed to deal with a corner, the ball bouncing on the line before being cleared.
Pepe thought he had scored but television replays showed the officials had made the right decision.
Nani struggled to make an impact, although his former Manchester United team-mate Cristiano Ronaldo produced flashes of the form which saw him end the season with 62 goals for Real Madrid and Portugal.
Ronaldo summed up Portugal's performance in the space of a minute early in the second half.
Having cut in off the left wing to force a save from Manuel Neuer, he delivered a dangerous cross which was headed behind by Mats Hummels. However, the resulting corner came to nothing.
With the game drifting towards a draw, Boateng produced a goal-saving challenge to deny Ronaldo in the 64th minute before Gomez struck eight minutes later.
Gomez was seconds away from being replaced by Miroslav Klose when he headed home his 23rd international goal after Khedira's cross from the right.
Portugal produced a late rally - Nani hitting the woodwork with a cross-shot before Neuer came to Germany's rescue with a fine save to deny substitute Silvestre Varela - but it proved too little too late.
Germany: Neuer, Boateng, Hummels, Badstuber, Lahm, Khedira, Schweinsteiger, Muller (Bender 90), Ozil (Kroos 87), Podolski, Gomez (Klose 80).
Subs Not Used: Wiese, Gundogan, Schmelzer, Howedes, Schurrle, Mertesacker, Gotze, Reus, Zieler.
Booked: Badstuber, Boateng.
Goals: Gomez 72.
Portugal: Rui Patricio, Joao Pereira, Bruno Alves, Pepe, Fabio Coentrao, Meireles (Varela 80), Veloso, Joao Moutinho, Nani, Postiga (Nelson Oliveira 70), Ronaldo.
Subs Not Used: Eduardo, Custodio, Almeida, Quaresma, Ricardo Costa, Rolando, Ruben Micael, Miguel Lopes, Hugo Viana, Beto.
Booked: Postiga, Fabio Coentrao.
Referee: Stephane Lannoy (France).
- 01 Neuer
- 05 Hummels
- 14 Badstuber Booked
- 16 Lahm
- 20 Boateng Booked
- 06 Khedira
- 07 Schweinsteiger
- 08 Ozil (Kroos - 87' )
- 13 Mueller (Bender - 90' )
- 10 Podolski
- 23 Gomez (Klose - 80' )
- 12 Wiese
- 22 Zieler
- 03 Schmelzer
- 04 Howedes
- 17 Mertesacker
- 02 Gundogan
- 09 Schurrle
- 15 Bender
- 18 Kroos
- 19 Gotze
- 21 Reus
- 11 Klose
- 12 Rui Patricio
- 02 Alves
- 03 Pepe
- 05 Coentrao Booked
- 21 Joao Pereira
- 04 Veloso
- 08 Joao Moutinho
- 16 Meireles (Varela - 80' )
- 17 Nani
- 07 Ronaldo
- 23 Postiga Booked (Oliveira - 70' )
- 01 Eduardo
- 22 Beto
- 13 Costa
- 14 Rolando
- 19 Miguel Lopes
- 06 Custodio
- 15 Ruben Micael
- 20 Viana
- 09 Almeida
- 10 Quaresma
- 11 Oliveira
- 18 Varela
Live Text Commentary
Full Time The match has reached full-time.90:00 +2:54
Luis Nani takes the inswinging corner, Eduardo Bruno Alves produces a header from inside the area that goes over the bar.90:00 +2:54 Substitution
Substitution Thomas Muller leaves the field to be replaced by Lars Bender.90:00 +2:36
Luis Nani takes a shot. Holger Badstuber gets a block in.90:00 +2:06
Silvestre Varela sends in a cross, Thomas Muller manages to make a clearance.90:00 +1:51
Foul by Miroslav Klose on Felipe Joao Moutinho, free kick awarded. Felipe Joao Moutinho takes the direct free kick.90:00 +1:40
Lukas Podolski gives away a free kick for an unfair challenge on Kleper Pepe. Direct free kick taken by Miguel Veloso.89:39
Free kick awarded for a foul by Miguel Veloso on Thomas Muller. Direct free kick taken by Bastian Schweinsteiger.88:55
Free kick awarded for an unfair challenge on Thomas Muller by Alexandre Fabio Coentrao. Indirect free kick taken by Manuel Neuer.87:44
Silvestre Varela takes a shot. Save by Manuel Neuer.87:23
Lukas Podolski sends in a cross, Kleper Pepe makes a clearance.86:16 Substitution
Substitution Toni Kroos joins the action as a substitute, replacing Mesut Ozil.85:51
Luis Nani has an effort at goal from long distance that goes wide left.84:58
Corner from the right by-line taken by Luis Nani, clearance made by Holger Badstuber.84:52
Centre by Luis Nani, clearance by Mats Hummels.83:51
Centre by Luis Nani.83:07
Luis Nani takes the outswinging corner, save by Manuel Neuer.82:52
Alexandre Fabio Coentrao takes a shot. Blocked by Mats Hummels.82:13
The ball is swung over by Felipe Joao Moutinho, Philip Lahm manages to make a clearance.81:55
Corner taken right-footed by Felipe Joao Moutinho to the near post, clearance made by Mats Hummels.
Kleper Pepe delivers the ball, Philip Lahm gets a block in.81:25
Corner taken by Luis Nani from the left by-line, Bastian Schweinsteiger manages to make a clearance.81:11
Cristiano Ronaldo takes a shot. Save made by Manuel Neuer.81:02
Mesut Ozil is caught offside. Pedro Rui Patricio takes the free kick.80:23
Cristiano Ronaldo gives away a free kick for an unfair challenge on Jerome Boateng. Free kick taken by Jerome Boateng.79:06 Substitution
Substitution Silvestre Varela on for Raul Meireles.78:49
The free kick is delivered right-footed by Bastian Schweinsteiger from right wing, clearance by Eduardo Bruno Alves.78:49 Substitution
Substitution Miroslav Klose replaces Mario Gomez.78:49
Free kick awarded for an unfair challenge on Thomas Muller by Alexandre Fabio Coentrao.77:59
Sami Khedira produces a cross.76:21
The ball is delivered by Thomas Muller, Pedro Joao Pereira manages to make a clearance.75:36
Corner taken left-footed by Mesut Ozil from the left by-line, clearance by Pedro Joao Pereira.75:29
Centre by Mesut Ozil, Raul Meireles makes a clearance.73:58
Foul by Mario Gomez on Kleper Pepe, free kick awarded. Kleper Pepe takes the direct free kick.73:25
Handball decision goes against Raul Meireles. Direct free kick taken by Manuel Neuer.71:54
Assist on the goal came from Sami Khedira.71:54 Goal scored
Goal! - Mario Gomez - Germany 1 - 0 Portugal Mario Gomez scores a headed goal from deep inside the penalty box. Germany 1-0 Portugal.71:51
The ball is crossed by Sami Khedira,71:03
Miguel Nelson Oliveira concedes a free kick for a foul on Mats Hummels. Mats Hummels takes the direct free kick.70:26
Thomas Muller delivers the ball.68:57
Miguel Veloso restarts play with the free kick.68:57 Substitution
Substitution Miguel Nelson Oliveira replaces Helder Postiga.68:57 Booking
Booking Jerome Boateng receives a caution.68:53
Cristiano Ronaldo fouled by Jerome Boateng, the ref awards a free kick.68:27
The ball is swung over by Thomas Muller, save made by Pedro Rui Patricio.67:24
Foul by Pedro Joao Pereira on Lukas Podolski, free kick awarded. Philip Lahm takes the direct free kick.66:51
Foul by Mario Gomez on Kleper Pepe, free kick awarded. Kleper Pepe takes the direct free kick.66:19
Foul by Luis Nani on Holger Badstuber, free kick awarded. Manuel Neuer restarts play with the free kick.64:19
Cristiano Ronaldo takes a shot. Blocked by Jerome Boateng.62:27
Holger Badstuber gives away a free kick for an unfair challenge on Felipe Joao Moutinho. Direct free kick taken by Miguel Veloso.61:39
Unfair challenge on Holger Badstuber by Helder Postiga results in a free kick. Direct free kick taken by Holger Badstuber.60:54
Bastian Schweinsteiger produces a cross, Pedro Rui Patricio makes a save.59:58
Direct free kick taken by Bastian Schweinsteiger.59:58 Booking
Booking Alexandre Fabio Coentrao receives a yellow card.59:50
Bastian Schweinsteiger fouled by Alexandre Fabio Coentrao, the ref awards a free kick.57:45
The ball is crossed by Thomas Muller.56:49
Lukas Podolski produces a cross, Headed effort on goal by Mario Gomez from just inside the box goes harmlessly over the target.54:38
Free kick awarded for an unfair challenge on Alexandre Fabio Coentrao by Thomas Muller. Eduardo Bruno Alves restarts play with the free kick.54:04
Helder Postiga is ruled offside. Manuel Neuer takes the free kick.53:35
Short corner taken by Felipe Joao Moutinho.53:20
Alexandre Fabio Coentrao crosses the ball, Jerome Boateng gets a block in.51:54
The ball is swung over by Mesut Ozil.51:12
Sami Khedira fouled by Miguel Veloso, the ref awards a free kick. Mesut Ozil crosses the ball from the free kick left-footed from right wing, Luis Nani makes a clearance.50:52
Helder Postiga crosses the ball, save by Manuel Neuer.50:07
Corner from the left by-line taken by Felipe Joao Moutinho, Manuel Neuer makes a save.50:01
The ball is swung over by Cristiano Ronaldo, clearance made by Mats Hummels.48:42
Cristiano Ronaldo takes a shot. Manuel Neuer makes a comfortable save.47:37
Raul Meireles takes the outswinging corner, save by Manuel Neuer.47:31
The ball is sent over by Luis Nani, clearance made by Mats Hummels.46:56
Miguel Veloso fouled by Lukas Podolski, the ref awards a free kick. Kleper Pepe takes the free kick.46:00
Inswinging corner taken by Mesut Ozil, Headed effort from deep inside the penalty area by Sami Khedira misses to the left of the goal.45:47
Sami Khedira takes a shot. Blocked by Pedro Joao Pereira.45:29
Lukas Podolski takes a shot. Pedro Joao Pereira gets a block in.45:01
The second half has started.45:00 +1:24 Half time
Half Time The whistle is blown to end the first half.45:00 +1:05
Free kick awarded for an unfair challenge on Helder Postiga by Bastian Schweinsteiger. Direct free kick taken by Cristiano Ronaldo.44:42
Kleper Pepe takes a shot.44:14
Felipe Joao Moutinho takes a outswinging corner from the right by-line to the near post, Sami Khedira manages to make a clearance.44:02
Pedro Joao Pereira delivers the ball, clearance made by Holger Badstuber.42:02 Booking
Booking Booking for Holger Badstuber for unsporting behaviour.42:02
Holger Badstuber challenges Luis Nani unfairly and gives away a free kick. The free kick is delivered left-footed by Miguel Veloso from right wing, save made by Manuel Neuer.41:47
The ball is swung over by Lukas Podolski, Miguel Veloso manages to make a clearance.40:48
Shot from outside the penalty box by Felipe Joao Moutinho goes wide right of the goal.39:47
A cross is delivered by Mesut Ozil, Shot by Thomas Muller from deep inside the penalty area misses to the left of the goal.39:40
The ball is sent over by Thomas Muller.39:09
Mesut Ozil sends in a cross, clearance made by Eduardo Bruno Alves.37:01
Sami Khedira produces a right-footed shot from long distance which goes wide right of the goal.35:56
Free kick awarded for a foul by Mario Gomez on Kleper Pepe. Pedro Rui Patricio takes the free kick.32:44
Felipe Joao Moutinho challenges Bastian Schweinsteiger unfairly and gives away a free kick. Mats Hummels takes the free kick.29:57
Shot from inside the area by Lukas Podolski clears the bar.28:20
Free kick awarded for an unfair challenge on Mesut Ozil by Luis Nani. Direct free kick taken by Philip Lahm.27:17
Lukas Podolski has an effort at goal from deep inside the area missing to the left of the goal.25:15
Cristiano Ronaldo takes a shot. Blocked by Jerome Boateng.24:35
Lukas Podolski has an effort at goal from 25 yards.23:06
Raul Meireles challenges Sami Khedira unfairly and gives away a free kick. Direct free kick taken by Bastian Schweinsteiger.18:05
The ball is sent over by Alexandre Fabio Coentrao, clearance made by Jerome Boateng.17:43
The ball is delivered by Miguel Veloso, blocked by Jerome Boateng.17:24
Luis Nani takes a outswinging corner.17:06
The ball is crossed by Cristiano Ronaldo, clearance made by Philip Lahm.15:58
Bastian Schweinsteiger fouled by Felipe Joao Moutinho, the ref awards a free kick. Philip Lahm restarts play with the free kick.14:18
Centre by Alexandre Fabio Coentrao, Mats Hummels manages to make a clearance.13:48
Mario Gomez gives away a free kick for an unfair challenge on Kleper Pepe. Direct free kick taken by Kleper Pepe.13:28
The ball is delivered by Jerome Boateng, Pedro Rui Patricio makes a comfortable save.12:21
Direct free kick taken by Manuel Neuer.12:21 Booking
Booking Helder Postiga booked.12:09
Foul by Helder Postiga on Manuel Neuer, free kick awarded.11:18
Eduardo Bruno Alves challenges Thomas Muller unfairly and gives away a free kick. Free kick taken by Jerome Boateng.9:46
The ball is sent over by Pedro Joao Pereira, Manuel Neuer makes a save.8:54
Lukas Podolski takes a shot. Save by Pedro Rui Patricio.7:05
Alexandre Fabio Coentrao fouled by Thomas Muller, the ref awards a free kick. Free kick taken by Eduardo Bruno Alves.5:37
Jerome Boateng crosses the ball, save by Pedro Rui Patricio.4:47
Kleper Pepe fouled by Mario Gomez, the ref awards a free kick. Kleper Pepe restarts play with the free kick.4:27
Bastian Schweinsteiger gives away a free kick for an unfair challenge on Helder Postiga. Felipe Joao Moutinho restarts play with the free kick.4:11
Miguel Veloso concedes a free kick for a foul on Mesut Ozil. Free kick taken by Jerome Boateng.1:55
Inswinging corner taken by Miguel Veloso from the right by-line played to the near post, save made by Manuel Neuer.1:15
Jerome Boateng sends in a cross, Mario Gomez takes a shot. Save by Pedro Rui Patricio.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers