Madrid:FC Barcelona overcame a sluggish start to beat Recreativo Huelva 3-0 on Saturday and gain ground on Spanish league leader Real Madrid, which was held 1-1 at Murcia.
Gabriel Milito put Barcelona ahead with a strong header in the 64th minute, and substitute Bojan Krkic doubled the lead two minutes later. Lionel Messi added the third from the penalty spot in the 81st.
Barcelona was missing star playmaker Ronaldinho, who was scratched from the lineup because of fatigue.
Barcelona improved to 27 points, two behind Madrid, which took the lead in the ninth when Robinho headed in Jose Maria "Guti" Gutierrez's half-volley cross at the far post.
Enrique De Lucas ran into the penalty area untouched in the 49th to head past Iker Casillas for the equalizer.
Also Saturday, Fernando Varela scored a long-range winner for Mallorca, beating as it beat Sevilla 2-1 to pick up its fifth win of the season. Ariel Ibagaza opened for Mallorca in the 16th, while Frederic Kanoute scored for Sevilla.
Mallorca improved to 19 points while Sevilla stayed at 15 after its seventh loss of the campaign. The UEFA Cup champion trails only last-place Levante in losses this season.
On Sunday, Villarreal - which also has 27 points - can move clear into first place with its 10th win of the season against Almeria.
Ronaldinho, who played in both of Brazil's World Cup qualifying matches while on international duty, was rested ahead of Tuesday's Champions League match at Lyon, the club said.
Though Messi and Andres Iniesta were threatening from both flanks, Krkic's entrance in the 61st provided the necessary lift for Barcelona, which controlled play from the start but couldn't penetrate a tough Recreativo team.
Barcelona coach Frank Rijkaard applauded his team's patience.
"It was complicated since Recreativo had the idea of shutting us in while waiting to surprise us on the counterattack, but the goal changed the aspect of the team," the Dutchman said. "We were always convinced that the goal would come."
Krkic should have made it 3-0 in the 70th, but Henry was ruled offside before providing the assist.
"It's a good way to come in, little by little," said Rijkaard about the 17-year-old Krkic's steady increase in playing time. "If he continues like this, he'll become indispensable and he'll be a starter soon enough."
The game was testy throughout and spilled over in the 77th when both coaches had to run onto the field to control their players as shoving occurred after a series of tough fouls.
Barcelona's penalty came after defender Jose Martin Caceres body checked Messi as the Argentina forward was through in the right side of the area. Messi joined Sevilla's Luis Fabiano as the league's top scorer with his eighth of the season.
Sorrentino denied Messi and Henry again in the final moments as Barcelona improved to 7-0 at the Camp Nou.
Varela, who was ejected in the 76th after picking up a second booking, hit the top right of the net from 35 meters (yards) out for Mallorca at the Ramon Sanchez Pizjuan.
Ibagaza curled Jonas Gutierrez's pass inside the near post beyond Andres Palop to open in the 17th.
Fabiano - who scored both goals in Brazil's 2-1 win over Uruguay on Wednesday - nearly equalized three minutes later.
Kanoute answered for Sevilla with his seventh of the season in the 49th.
Mallorca goalkeeper German Lux then denied Seydou Keita from point-blank range as Sevilla got its seventh defeat. The UEFA Cup champion plays Premier League leader Arsenal in the Champions League on Tuesday.