Highly-rated forward Karim Benzema fired the French champions in front against the run of play in the 54th minute after turning brilliantly on the edge of the box and firing low into the bottom corner past the despairing Edwin Van der Sar.
But just when United looked to be heading towards defeat, substitute Tevez popped up at the back post to stab the ball home after Lyon failed to deal with a Cristiano Ronaldo cross.
United had the best chance of a tight first-half when Wayne Rooney was played clean through on goal but the striker was denied by a fine save by French international goalkeeper Gregory Coupet, making his first Champions League appearance of the season.
The Red Devils started the second-half brightly and looked the more likely to score before Benzema's stunning strike showed just why he is coveted by Europe's top club.
Surrounded by three men and with his back to goal, the 20-year-old turned and lashed the ball past Van der Sar to send the capacity crowd in the Stade de Gerland wild.
United were clearly rattled and Juninho almost doubled Lyon's advantage with a magnificent free-kick from 35 yards which flew just past the post with Van der Sar beaten.
But the introduction of Tevez and Nani made all the difference for United and it was the former who netted the vital away goal with just three minutes to go.
Ronaldo's cross was not dealt with by Sebastien Squillaci and the ball fell to Tevez who only had to stab the ball past Coupet and into the back of the net and put United in pole position for the second leg at Old Trafford in two weeks time.