Two fine finishes either side of half-time from Ruben Castro had put the visitors in a strong position but Riki pulled a goal back almost immediately before levelling with a neat volley on the hour mark.
Both sides then went in search of the winner but it was Betis who got it as Campbell cut inside onto his left foot and curled a brilliant shot into the top corner from 25 yards.
Victor Casadesus made up for his first-half penalty miss with an 86th-minute goal that gave Real Mallorca a 1-1 draw against 10-man Real Zaragoza.
Sunday's clash exploded into life in the 13th minute when the islanders were awarded a spot-kick after Emilio Nsue was hauled down by Glenn Loovens, who picked up his second booking, although Victor saw his effort from 12 yards parried to safety by Zaragoza keeper Roberto Jimenez.
In a stunning twist, the visitors then took a shock lead in the 16th minute after Helder Postiga profited from loose defending and it seemed they would hang on after Mallorca missed several gilt edged chances to level matters after the interval.
But Victor atoned for his miss by powerfully heading into the net late on to rescue a point for the hosts.
Levante also needed a late goal to claim a 1-1 draw at Celta Vigo, who failed to make their dominance count at Estadio de Balaidos.
Enrique De Lucas got the benefit of a marginal offside call to put his side ahead in the first half, yet despite dominating possession after break the home side could not add to their tally.
Levante made them pay late on as Roger popped up to turn the ball home from close range after fellow substitute Michel had volleyed across the face of goal.
Both Granada and Espanyol remain in La Liga's bottom three after neither side managed to find the breakthrough at Nuevo Los Carmenes.
The hosts had most of the possession and pressure but it was Espanyol - led for the first time by new coach Javier Aguirre - who had the better opportunities in each half.
Tono made a brilliant save in the Granada goal to deny Christian Stuani the opener moments before half-time, while Raul Baena fired over with the goalkeeper out of position and the goal at his mercy just after the hour mark.
A point for either side means that Espanyol remain rooted to the foot of the table on 10 points with Granada two points and two places better off.
On Saturday, Barcelona opened up a six-point lead at the summit after a 5-1 rout of Athletic Bilbao, with Real Madrid seeing off Atletico Madrid 2-0.
Messi's 83rd and 84th goals of the calendar year left the Argentina forward needing just one more goal to equal Gerd Muller's record of 85 in a calendar year, set in 1972.
The result was never in doubt at the Nou Camp as two goals in three minutes - from Gerard Pique and a deflected Messi effort - midway through the opening 45 minutes put Barca firmly in the ascendancy and Adriano added a superb third in first-half stoppage time.
Cesc Fabregas notched a neat fourth soon after the break and, after Ibai Gomez had pulled a goal back with Athletic's first noteworthy attack of the match, Messi rounded things off with a brilliant fifth goal.
The emphatic win consolidated top spot in La Liga for Tito Vilanova's team, whose only dropped points in 14 games this term came in the 2-2 draw against Real Madrid in October - making their start the best ever to a top-flight season in Spain.
Third-placed Real Madrid remained 11 points off the pace after winning a highly-anticipated derby 2-0, ensuring Atletico's winless run in the fixture will stretch into its 14th year.
A wonderful free-kick from Cristiano Ronaldo lit up what was an otherwise disappointing first half before Mesut Ozil secured all three points with a tidy finish 25 minutes from time.
Earlier this evening, 10-man Valencia went down 5-2 against Real Sociedad - with coach Mauricio Pellegrino sacked soon after the full-time whistle at the Mestalla.
"We have been exchanging views, and we made the decision to dismiss Mauricio Pellegrino," Valencia president Manuel Llorente said.
Former player Salvador Gonzalez, known as Voro, will take temporary charge of Los Che.
Sporting director Braulio Vazquez added on the club's website: "If you look at the future of the team, you can understand that in this game we have not been good, but the progression of the team was not right.
"I want to emphasise that Mauricio has gone, but it is the responsibility of all."
Roberto Soldado's second-minute strike had given the hosts an early lead but they were never in control and were pegged back before half-time as Alberto de la Bella fired in an equaliser minutes after Jonas had seen a straight red card for lashing out at David Zurutuza.
Sociedad took control in the second period as further goals from Mikel Gonzalez, Diego Ifran, Imanol Agirretxe and Carlos Vela rendered Soldado's second of the evening meaningless and lifted the victors to seventh.
Also in the Spanish top flight on Saturday, Getafe moved level on points with fourth-placed Malaga thanks to a 1-0 win. Alberto Lopo headed home the game's only goal 11 minutes into the second half.
Friday's La Liga Result
Saturday's La Liga Results
Sunday's La Liga Results
Monday's La Liga Fixture