Barca beat Sevilla to shake off Milan hangover
Barca were stunned 2-0 away in a Champions League last 16 first leg on Wednesday and Sevilla played a similar gameplan to the Italians, denying the hosts space and breaking to take the lead just before half-time.
David Villa and World Player of the Year Messi completed the second-half comeback to leave Barca top with 68 points from 25 games.
Real Madrid are third with 52 points after also having to come from behind to beat bottom side Deportivo La Coruna 2-1 with late goals from Kaka and Gonzalo Higuain.
Both Real and Barca, who meet in a cup semi-final second leg at the Nou Camp on Tuesday, with the tie level at 1-1, struggled as they fielded weakened sides to rest key players.
"We knew we hadn't played a good first half and needed more," Barca's Argentine defender Javier Mascherano told Spanish television.
"In the second half, we played with a greater intensity and luckily we got a quick equaliser.
"We have a game that is like a final on Tuesday and we have a slight advantage. They are a great rival and we still have to finish the job."
Sevilla, who need to overturn a 2-1 deficit in their semi-final at home to Atletico on Wednesday, had also rested players but struck against the run of play when Alberto Botia rose above Dani Alves to nod past Victor Valdes in the 42nd minute.
Barca improved in the second period and Alves crossed for Villa to head the equaliser in the 52nd.
A slick passing move led to Cristian Tello feeding Messi in the area and the Argentine slotted away his 38th league goal of the season on the hour.
Sevilla had chances to equalise as Barca wobbled near the end with substitute Alvaro Negredo blazing a good chance over the bar late on.
RONALDO ON BENCH
At the Riazor, a determined Depor troubled a Real side who had left Cristiano Ronaldo on the bench.
Depor, who had lost five consecutive matches coming into the match, were dangerous on the break and from one such move striker Riki beat Diego Lopez at his near post with a powerful low drive in the 34th minute.
Real were reeling as Marcelo headed a Pizzi effort off the line, Riki swept a shot past the post and Lopez denied Bruno Gama with a flying save.
After coach Jose Mourinho brought on Ronaldo, Mesut Ozil and Sami Khedira in the 57th minute, Real upped their game and Brazil's Kaka swept in the equaliser with a curling shot from outside the area in the 73rd minute.
Kaka also featured in the second goal, playing Ronaldo into the area and he squared for Argentine striker Higuain to roll the ball home in the 88th minute.
Real finished with 10 men after Angel di Maria collected two yellow cards in the same incident as he held up a Depor free-kick at the end.
"Things are getting better for me," Kaka told reporters. "The boss needs me now and I have to be in good shape for the crucial part of the season."