Germany needed a late winner from Thomas Mueller to beat Romania 2-1 while the Netherlands eked out a 1-0 win in Latvia to stay on course for the World Cup finals on Friday.
Four-time world champions Germany now have a six-point lead in Group J after their win in Hamburg.
Romania took a shock ninth minute lead when Rangers winger Ianis Hagi ghosted through the defence and fired past Germany goalkeeper Marc-Andre ter Stegen, a late replacement for injured Manuel Neuer.
Serge Gnabry equalised with his 20th goal in 30 internationals after 52 minutes.
Mueller then came off the bench for his 107th Germany appearance to claim his 40th international goal nine minutes from time.
"It was annoying to concede the early goal, but the team fought, never gave up and played with confidence," said Germany head coach Hansi Flick.
The result extends Germany's lead at the top of Group J ahead of Monday's next qualifier away to North Macedonia.
Davy Klaassen scored with a fine volley after 19 minutes in Riga to give the Dutch the three points in a 1-0 win over Latvia which kept them in charge of Group G.
They have a two-point advantage over Norway who drew 1-1 with third-placed Turkey.
In Group E, Aaron Ramsey and Daniel James inspired Wales to a 2-2 draw with the Czech Republic in Prague.
Both teams have eight points in the fight for the second spot in Group E, trailing runaway leaders Belgium with 16, but Wales have a game in hand. Croatia, the runners-up to France in the 2018 World Cup final, still lead Group H after a 3-0 win in Cyprus.
Croatia have 16 points as do Russia after the 2018 hosts beat Slovakia 1-0 in Kazan thanks to a 24th-minute own-goal by Milan Skriniar.