The World Player of the Year had missed Barca's humiliating Champions League semi-final exit to Bayern Munich on Wednesday as he recovered from a hamstring problem, but came on in the 56th minute at 2-2 to score the goals that sealed the victory.
The Argentine's 16th double of the season took his league tally to 46, just four short of last season's record breaking total.
Barca have 88 points with four games left to play, 11 ahead of second-placed Real Madrid who triumphed 4-3 at home to Real Valladolid on Saturday.
Tito Vilanova's side, who need two more points to secure a fourth league title in five years, could claim the trophy on Wednesday if Real fail to win at home to Malaga.
"We have to think we will need two more points because Madrid will probably collect all theirs," Vilanova told a news conference.
Pep Guardiola's former assistant went on to defend his management of Messi's injury after not using him against Bayern during the week.
"If we hadn't managed it this way he might not have made the Betis game to help us," he said. "He lacks fitness because he hasn't trained much in the last month and a half."
Barca were behind from the second minute after some casual defending allowed Dorlan Pabon to burst through and fire past Jose Manuel Pinto, who was deputising for the injured Victor Valdes.
The hosts reacted quickly with Andres Iniesta dancing to the byline and crossing for Alexis Sanchez to bullet in a diving header in the ninth.
Betis are a team who like to attack opponents and as a result chances fell to either side in an open encounter.
An out-of-sorts David Villa could have had a hat-trick before halftime, his worst miss a volley over after wonderful approach play from Andres Iniesta and Xavi, while Pinto denied Salva Sevilla from close range.
Barca's Cristian Tello lashed a shot against the crossbar which bounced down on the line, and almost immediately Betis were ahead again when Ruben Perez thundered a 30-metre shot into the top corner in the 43rd.
Villa made amends for his earlier misses with a far-post header from Dani Alves's cross to level in the 56th and immediately made way for Messi, who entered to a huge roar.
He had barely touched the ball before he struck the third, curling a superb freekick over the wall and beyond Betis keeper Adrian.
A second Messi freekick struck the crossbar but he crowned the night with the goal of the game, tapping in from an Alexis pass to the back post after a clever backheel from Iniesta.
Adrian denied Messi a hat-trick with a couple of saves in the closing stages.
Three goals inside the opening 23 minutes earned Sevilla a comfortable 3-0 home win over mid-table Espanyol, that kept them in the hunt for a place in Europe next season in eighth with 46 points.
Jesus Navas forced a fluke opening goal when Espanyol defender Joan Capdevila headed his cross downwards only to see the ball bounce over his keeper and into his own net in the 11th minute.
Navas fed Coke to smash a rising shot into the top corner in the 19th, and soon after a howler from visiting keeper Kiko Casilla when he failed to collect a cross, allowed Alvaro Negredo to slide in at the back post and volley the third.
Real Zaragoza, who won their first game of 2013 last weekend, notched a second successive victory beating Rayo Vallecano 3-0 with two goals from Apono to haul themselves out of the relegation places.
Zaragoza climbed to 16th on 33 points, ahead of Osasuna in 17th due to their superior head-to-head record.
The bottom three, who all drew this weekend, were Deportivo La Coruna with 32 points, Celta Vigo with 31 and Real Mallorca with 29.
Depor drew 0-0 at home to Atletico Madrid, Celta 1-1 at home to Athletic Bilbao and Mallorca 1-1 against visiting Levante.