The first half ended 0-0 with Inter Milan denying Man City the chance to hurt them by being compact.
Onana saved a Erling Haaland’s close-range effort in the first half.
Spanish midfielder Rodri’s 68th-minute goal settled a cagey contest that a far-from-fluent City dominated but they never looked comfortable against the three-time winners.
Inter almost levelled at the death when a point-blank header by substitute Romelu Lukaku was saved by Ederson.
It completed a treble for City, making them only the second English club to complete it after Manchester United also won the Premier League, FA Cup and Champions League in 1999.
City manager Pep Guardiola has now won the Champions League three times and took his trophy count with City to 12.