Serge Gnabry and Leroy Sane gave Germany a 2-0 half-time lead in Amsterdam but Memphis Depay inspired a comeback with a goal and an assist in Sunday's heavyweight Group C clash.
Germany gained revenge for their 3-0 loss at the hands of Netherlands in the Nations League last year, though, when Nico Schulz arrived in the box to steer home a 90th-minute winner to settle a classic contest.
Netherlands had not lost a home game to rivals Germany in 23 years and Koeman took responsibility for not bolstering a stretched back line with a late change, Germany substitute Marco Reus setting up Schulz moments after his introduction.
"I felt they were about to score around the 85th minute," Koeman told a news conference. "We had a discussion on the bench on what to do.
"Should we bring in [Nathan] Ake and substitute him for an attacking player? Maybe that would be a better idea. That is my mistake."
Netherlands found themselves 2-0 down to a pair of high-quality goals as Joachim Low's strikerless formation caused chaos for defenders Virgil van Dijk and Matthijs de Ligt, whose first international goal halved the deficit shortly after the restart.
Koeman's tactical changes, including replacing Ryan Babel with Steven Bergwijn at half-time, helped his side get back in the game but the Netherlands coach criticised sloppiness in possession from his players at the Johan Cruijff ArenA.
"We kept losing the ball. If you can't get the pressure high, the play is open in the back," Koeman said. "They have some fantastic attacking players. We gave them too much space.
"The first goal was a bit unlucky with Virgil, who slipped. The second goal was incredible. But don't forget we got two massive chances [for Babel] when we were only 1-0 behind.
Our team showed character and resilience by coming back stronger in the second half. It felt like the three points were on the table for us, which makes it that much more painful to go home empty handed. We’ll build on the positives and work hard to become better.#NEDDUI pic.twitter.com/V3sWoatIhV— Gini Wijnaldum (@GWijnaldum) March 24, 2019
"That was a good phase and then we played a tremendous second half. We were able to push back a great team like them. Then we were outstanding in ball possession. We took a lot of risk, but we kept the pressure on the ball.
"We came back and then it was more likely we'd score the 3-2 than that they would score the 2-3, until the last minutes. I got the feeling: 'Please guys, just go for a point, because we can concede.' But that happened eventually."