The result was all the more impressive as Emre Can was sent off after just 14 minutes in a game the Germans couldn’t afford to lose.
The City midfielder struck with a shot from outside the box on 51 minutes to break the deadlock.
On 57 minutes, Gundogan ran onto a pass in the Estonian box to tuck another low right-footed shot into the bottom corner via a slight deflection to double Germany’s lead.
Germany are joint top of Group C with the Netherlands who beat Belarus 2-1 to stay in pole position.
Earlier in the day, Brazil were held 1-1 by Nigeria, with City pair Ederson and Gabriel Jesus both starting the game and Jesus coming off on 88 minutes.
Nicolas Otamendi played no part in Argentina’s 6-1 win in Ecuador.