Ronaldo got his third goal in two games since his United return from Juventus but a red card for Aaron Wan-Bisseka and a terrible mistake from Jesse Lingard allowed their Swiss opponents a famous victory.
Barcelona started European life after Lionel Messi with a 3-0 home defeat against Bayern Munich. Robert Lewandowski got a brace after Thomas Mueller's opener for Bayern who had routed Barca 8-2 en route to the 2020 title.
Germany defender Antonio Ruediger sparked Chelsea with a sensational solo from his own half before shooting wide.
Lukaku headed the winner off captain Cesar Azpilicueta's cross in the 69th minute at Stamford Bridge but the hosts were lucky when Artem Dzyuba missed an equalizer for Zenit.
"The first step is done," Chelsea manager Thomas Tuchel told BT Sport. "Winning is good for our belief. We are not finished but we are in a good place to improve.
Chelsea have three points in Group H but Ronaldo's former side Juventus are top thanks to a 3-0 at Malmo from first-half goals by Alex Sandro, Paulo Dybala and Alvaro Morata.
In Bern, Ronaldo equalled Iker Casillas appearance record with a 177th match and scored a record-extending 135th goal in the elite event off Bruno Fernandes' in the 13th.
But United had Aaron Wan-Bisseka sent off in the 35th for stepping onto Christopher Martins Pereira's ankle.
The hosts levelled in the 68th when Nicolas Moumi Ngamaleu poked home Meschak Elia's cross, and Jordan Siebatcheu grabbed the winner in the fifth minute of stoppage time, off a terrible back pass from Lingard.
"That's football. People make mistakes – we're not blaming Jesse. I'm sure everyone on that pitch today has made a mistake. I'm sure Jesse will pick himself up," United captain Harry Maguire said.
Young Boys coach David Wagner, who in 2017 also beat United while in charge of Huddersfield, said: "Beating United in the Champions League is unique for our club."
The Swiss lead Group F after 10-man Europa League champions Villarreal and Atalanta drew 2-2 in the other game.
Barca face difficult times after the departure of Messi and amid their financial troubles, and were well-beaten by Bayern.
Mueller get his seventh goal overall against Barca with a deflected shot in the 34th, and Lewandowski improved his Champions League tally to 75, on the rebound of efforts from Jamal Musiala and Serge Gnabry, respectively, against the post.
Bayern won their 18th group stage opener in a row and are unbeaten in 19 games away from home in the Champions League.
"Winning 3-0 here at the start is a very important signal," Mueller told Amazon Prime Video.
Dynamo Kiev drew 0-0 with Benfica in the other Group E game, while French champions Lille and 10-man Wolfsburg had the same result in Group G.
That group also saw Sevilla and Salzburg draw 1-1 in an extraordinary game with four penalties - of which the Austrian visitors missed two of the three they were awarded - and Sevilla forward Youssef En-Nesyri sent off for diving for a fifth.