The visitors were leading 3-1 heading into the final 10 minutes of the contest at the Weserstadion in Bremen, but goals from Kai Havertz and Joshua Kimmich, the latter netting a 91st-minute penalty, rescued a draw for Hansi Flick's side.
On a landmark day 115 years on from their first-ever international fixture, Die Mannschaft came away with a somewhat positive result on a celebratory evening in Bremen, with all proceeds from the game to be put towards those affected by the war in Ukraine.
Flick opted to leave out the likes of Thomas Muller, Niklas Sule, Karim Adeyemi, Marco Reus and Mario Gotze as he aims to take a look at a number of other players ahead of the nation hosting Euro 2024, while Serge Gnabry was absent due to an ankle injury.
Germany were also without Champions League-winning captain Ilkay Gundogan and losing finalist Robin Gosens, but they managed to make a bright start to the contest against Ukraine and opened the scoring just six minutes in courtesy of a first international goal from Marius Wolf.
After Niclas Fullkrug missed a second-minute sitter, Wolf - operating at right wing-back in Flick's 3-5-2 formation - cut inside from the right before firing a deflected left-footed strike beyond the reach of Ukraine goalkeeper Anatoliy Trubin.
However, the visitors valiantly fought back and turned the game on its head with two quickfire goals in the space of five minutes before the half-hour mark.
A sloppy pass from Julian Brandt handed Ukraine possession on the counter-attack before Oleksandr Tymchyk played through Viktor Tsygankov to fire an equaliser across Kevin Trapp. The offside flag was initially raised but the goal was allowed to stand following a VAR review.
Germany were dispossessed again on the 23-minute mark, this time in their own half, and right-back Tymchyk sent a low-driven cross into the penalty area to pick out Chelsea's Mykhaylo Mudryk, whose first-time strike deflected off Antonio Rudiger before finding the bottom corner.
Bayern Munich's Leroy Sane then came close to restoring parity for the hosts on the stroke of half time when his dipping free kick rattled the crossbar.
Germany brought on Havertz and Jamal Musiala after the interval to provide a much-needed spark in the final third, but another costly defensive error helped Tsygankov to net his second of the match and increase Ukraine's lead just before the hour mark.
A poor first touch from centre-back Matthias Ginter allowed Artem Dovbyk to win possession inside Germany's penalty box before the forward teed up his teammate Tsygankov for a simple tap-in from close range.
Havertz then pulled one back seven minutes from time with a close-range strike after receiving a lofted pass over the top of Ukraine's backline from Rudiger, who has seen an earlier volley inside the box glance the post.
Germany pilled bodies forward and won a penalty in the dying embers of the match when substitute Eduard Sobol - who had been on the pitch for just over 10 minutes - brought down Havertz inside the area, before Kimmich stepped up and smashed his effort in off the left post to restore parity in dramatic fashion.
Die Mannschaft nine-game unbeaten record against Ukraine remains intact and Flick's side now prepare for two more friendly fixtures this month, with a trip to Warsaw to face Poland on Friday followed by a home encounter with Colombia at the Veltins-Arena on June 20.
Ukraine, meanwhile, will travel to North Macedonia for a Euro 2024 qualifier on Friday before playing host to Malta three days later.