The forward spun away from his marker and fired low into the corner nine minutes from time, sparking a desperate final charge from Celta.
Betis keeper Adrian had to block a header on the line in the closing minutes and Mario Bermejo finally worked his way round the visiting custodian, only to fire his shot against the post with the goal gaping in time added on.
The Andalusians are fifth with 28 points, behind Malaga in fourth on goal difference, and a massive 18 points adrift of runaway leaders Barcelona.
Unbeaten Barca crushed second-placed Atletico Madrid 4-1 with a double from Lionel Messi at the Nou Camp on Sunday, moving nine points clear at the top, and 13 ahead of champions Real Madrid who were held 2-2 at home by lowly Espanyol.
Real Betis had 44.2% of possession during the victory.
Los Verdiblancos had 11 shots, including five on target.
Molina made his mark on the match for Real Betis after coming on for Juan Carlos in the 56th minute, as he scored one goal and took two shots.
Rubén Castro had three shots for Beticos, more than any of his team-mates.
Celta de Vigo maintained control of the ball for 55.8% of the contest of the match, a testament to their movement and linking play in the open field.
Celta de Vigo won 53 duels and 17 headers, which led to seven shots, including two on target.
Javi Varas made four saves for Celta de Vigo.
The three attempts by Iago Aspas were the most of any Celta de Vigo player.
Hugo Mallo's 18 passes to Augusto Fernández were the most of any Celta de Vigo teammates during the match.
- Sports & Recreation
- Mario Bermejo