Euro 2016: Schweinsteiger's sting in tail as Low's Germany serve up early warning
Germany 2-0 Ukraine
Shkodran Mustafi's 19th-minute header and Bastian Schweinsteiger's stoppage-time breakaway ensured Joachim Low's side got off to a winning start at the Stade Pierre-Mauroy in Lille.
Yet Germany did not have things all their own way and Group C rivals Poland and Northern Ireland will have been heartened by some of their defending, particularly from set-pieces.
They were certainly grateful to goalkeeper Manuel Neuer for some fine first-half saves and a spectacular clearance from Jerome Boateng as Ukraine proved to be dangerous opponents.
Neuer was called into action after just five minutes when he dived at full stretch to keep out a fierce first-time shot from Yevhen Konoplyanka.
Germany should have taken a 13th-minute lead when Julian Draxler's cross was headed back towards the penalty spot by Thomas Muller, but Jonas Hector's standing foot slipped as he shaped to shoot and the ball disappeared into the stand.
However, six minutes later their pressure told when Toni Kroos swung in a free-kick from the right and defender Mustafi, a reported target for Liverpool who was previously at Everton but never made a Premier League appearance, powered his header into the top corner.
But while they looked shaky at the back, Ukraine continued to threaten at the other end with Neuer having to tip Yevhen Khacheridi's point-blank header over the crossbar.
Germany went in search of a killer second goal after the break and a 30-yard Kroos drive clipped the angle of the goal.
Benedikt Howedes then crossed from the right but Draxler was unable to keep his header down after sneaking in ahead of his marker. Pyatov denied Khedira with a diving save and comfortably dealt with a deflected effort from Mario Gotze.
And three minutes into stoppage time Germany broke from a Ukraine corner and Mesut Ozil's cross was converted by substitute Schweinsteiger to seal a comfortable, if not entirely convincing, victory.
Low said: "Bastian was delighted to make such a great comeback after so many weeks slogging to get back to fitness.
"We dominated - but it wasn't easy."
GERMANY: Neuer, Howedes, Boateng, Mustafi, Hector, Khedira, Kroos, Muller, Ozil, Draxler (Schurrle, 78 mins), Gotze (Schweinsteiger, 90 mins).
Unused subs: Leno, Hummels, Podolski, Can, Weigl, Tah, Sane, Kimmich, Gomez, ter Stegen.
Goals: Mustafi 19, Schweinsteiger 90
UKRAINE: Pyatov, Fedetskiy, Khacheridi, Rakitskiy, Shevchuk, Sydorchuk, Stepanenko, Yarmolenko, Kovalenko (Zinchenko, 73 mins), Konoplyanka, Zozulya (Seleznyov, 66 mins)
Unused subs: Boyko, Butko, Tymoschuk, Kucher, Rotan, Budkivskiy, Rybalka, Garmash, Karavayev, Shevchenko.
Yellow cards: Konoplyanka