First-half efforts from Leroy Sane and Serge Gnabry had seen Germany lead by two goals at the interval, but Matthijs de Ligt halved the deficit in the 48th minute before Memphis Depay continued his fine form in a Netherlands shirt by levelling the scores just past the hour.
There was to be a late sting in the tail, though, with Schulz securing all the points for Germany in their Group C opener when he slotted a low Marco Reus cross into the bottom corner of the net.
Germany had the first opportunity of the match in the second minute, but Gnabry saw his powerful strike from inside the Netherlands box saved by the alert Jasper Cillessen.
The home side had their first half-chance in the 10th minute when a deflected cross from Denzel Dumfries fell at the feet of Ryan Babel, but the Fulham attacker saw his close-range strike blocked by Niklas Sule.
The breakthrough arrived in the 15th minute and it was Germany who struck first; the goal originated down the left through wing-back Schulz, but it was all about Sane, who worked the ball onto his left foot before firing an excellent effort into the far corner of Cillessen's net.
Netherlands had a fine chance to level in the 24th minute when Babel was released inside the Germany box, but the number nine saw his effort pushed over the crossbar by Manuel Neuer.
Babel and Neuer again went head to head in the 27th minute and again it was the Germany goalkeeper who came out on top, making a reaction save to keep out the 32-year-old's close-range volley.
Netherlands' next opportunity arrived just past the 30-minute mark when Dumfries worked a shooting position outside the box, but Neuer dropped low to make another decent stop.
Germany doubled their advantage in the 35th minute, though, and the strike from Gnabry overshadowed Sane's opener. Indeed, the Bayern Munich attacker worked his way into the Netherlands box before curling an unstoppable effort into the top corner of the net to silence the stadium once again.
The visitors continued to play their way out of the press and had two more chances in the latter stages of the first period, but Cillessen made two smart saves to deny Thilo Kehrer and Sane in quick succession.
Virgil van Dijk has been excellent for Liverpool this season, but it was a tough first period for the Netherlands captain, with Sane running rings round the 27-year-old and his centre-back partner De Ligt.
Netherlands were back in the contest early in the second period, though, with De Ligt heading a wonderful cross from Depay into the corner of the Germany net to halve the deficit.
The pressure from the home side continued as Germany struggled to stem the flow of traffic, with Memphis seeing more and more of the ball in forward positions.
It was the former Manchester United attacker who levelled the scores in the 63rd minute when he worked a yard of space inside the Germany box before picking out the bottom corner with a fine strike.
Quincy Promes then struck wide of the away side's goal three minutes later with Netherlands determined to complete the turnaround in front of a vocal home support.
Germany did manage to ease some of the pressure in the period that followed, though, and Toni Kroos saw a long-range free kick miss the post before Cillessen had to keep out a strike from Gnabry.
Reus was introduced in the latter stages as Germany looked for a third and the substitute set up Schulz in the 90th minute for the winning goal.
Indeed, the wing-back had found himself inside the Netherlands box following a break forward and it was an excellent low finish from the 25-year-old as the home supporters were shocked at the death.
NETHERLANDS (4-3-3): Cillessen; Dumfries, De Ligt, Van Dijk, Blind; De Jong, Wijnaldum, De Roon (L De Jong 90'); Babel (Bergwijn 46'), Memphis, Promes
GERMANY (3-4-3): Neuer; Sule, Ginter, Rudiger; Kehrer, Kimmich, Kroos, Schulz; Sane, Goretzka (Gundogan 70'), Gnabry (Reus 88')