It was the German side who had the stronger of the starts with a good chance from Jonas Hector, before Mustafi gave them the lead. It became a much more open affair as the half went on, great chances from Yevhen Khacheridi, Sami Khedira, Yevhen Konoplyanka and Andriy Yarmonlenko folowed the first goal, but failed to add to the score-line.
The second half sadly couldnt live up to the expectations that the first had set, there was some decent opportunites from Julian Draxler, Toni Kroos and Yaroslav Rakitskiy early in half, but nothing materialised. Thomas Muller had one more decent chance,before a extra-time strike from Schweinsteiger secured the points.
Expectations were high around the world champions, and their first real opportunity arrived in the 12th minute.Draxler played a good ball into Muller, who headed back to Hector in the area but his miskick saw the chance go begging.
It didnt take long for them to take the lead, Kroos stood over a free-kick on the right and Real Madrid man whipped a great ball into the far post. Mustafi was alive to the situation, who remained unmarked and his powerful header gave Andriy Pyatov no chance.
Pick up in the play
Mykhaylo Fomenko's side started to come alive, and had a great chance in the 26th minute. Konoplyanka's corner seemed to confuse Manuel Neur as he proved to be indescive in coming off his line, but he did well as he managed to tip Khacheridi's header over the bar.
It was almost two for the Germans moments later, Kroos produced a great over-the-top ball to Khedira but he could only hit it at Pyatov.
Many had criticised Joachim Löw's side going into this tournament, and were shaken by two great chances towards the end of the half.
Jerome Boateng showed why he is one of the best central defenders in the world, a dangerous ball in from Yarmonlenko found Konoplyanka out wide. He managed to get it beyond Neur, and looked to have outfoxed Boateng as he was backpeddling, but did excellently to toepoke the effort off-the-line.
Ukraine had the ball in the net moments later, Artem Fedetskiy's effort deflected off Neur into the path of Yarmonlenko and into the net, but the flag had already been raised.
Shutting the game down
The intensity from the end of the first period wasnt carried over to the beginning of second period, but there were some decent opportunities to extend the scoreline.
The first came two minutes after the restart, as Draxler tried a stinging effort from just inside the area, but Pyatov produced a smart save.
Kroos had proven a menace with his passing, and took that into his shooting as he tried one from distance but it just clipped the top of the crossbar.
Ukraine had their only real opportunity of the second period in the 57th minute, Rakitskiy stood over a dangerous-looking free-kick and his low effort looked for the bottom corner but Neur had it covered.
Right at the death
Muller had a decent opportunity 15 minutes from the end, the Bayern Munich man had hardly been in the game but his deflected shot may have looked to have perplexed Pyatov but he produced a smart save.
Mustafi the hero, almost became Mustafi the villain in the dying moments, a long punt upfield had Neur running off his line but Mustafi managed to loop a header over him, but luckily for him it went wide.
Germany secured the three points right at the death, it was classic counter-attack down the left through Mesit özil and his excellent cross found Schweinsteiger at the far post and his half-volley found the top corner.
Germany will play Poland at the Stade de France, Paris on Thursday, June 16 with kick-off at 8pm BST.