Aymeric Laporte’s header eight minutes from time finally ended Tottenham’s resistance as their 13-year wait to win a trophy goes on.
For the first time in 13 months, a football match in England had designated fans from both teams inside the stadium in one of a series of test events at Wembley as coronavirus restrictions are eased.
Defeat by Chelsea in the FA Cup semi-finals last weekend means City cannot claim an unprecedented quadruple of trophies this season.
However, they remain on course for a treble with the first leg of their Champions League semi-final against Paris Saint-Germain to come on Wednesday before possibly sealing the Premier League title next weekend.
Pep Guardiola’s men played like champions as after a slight dip in form in recent weeks, they pinned Tottenham back from the first whistle and should have won by a far more comfortable scoreline.
But City looked in a different league from the off as they peppered Hugo Lloris’s goal without finding the breakthrough.
Raheem Sterling saw a goalbound effort blocked by Toby Alderweireld before Lloris made a stunning save from point-blank range to turn behind Phil Foden’s shot.
A Sterling dink over Lloris then spun just wide before Riyad Mahrez twice flashed powerful efforts inches wide.
Spurs somehow held out without conceding until half-time as Lloris was called into action again to deny Joao Cancelo.
Despite Harry Kane’s recovery from an ankle injury to start, Tottenham had offered nothing as an attacking threat until Giovani Lo Celso forced Zack Steffen into a fine save a minute into the second half.
However, the majority of the chances continued to come and go at the other end.
Ilkay Gundogan sliced wide at the near post before Lloris was forced into another flying save to deny Mahrez.
When the breakthrough finally arrived, it came from an unlikely source as Laporte rose highest to head home Kevin De Bruyne’s free-kick at the back post.
Under interim boss Ryan Mason for just the second time, Spurs’ energies were spent after conceding as they failed to muster any response to try and take the game to extra-time.
Sterling and Foden were guilty of being wasteful once more in front of goal in the closing minutes, while Mahrez had a second goal ruled out for offside.
But one goal was enough to secure a seventh major trophy in Guardiola’s five seasons in charge in Manchester.