Betis beat Levante at home
Campbell opened the scoring after just seven minutes as he swept home Castro's pass at the end of a flowing counter-attack for just his second Betis goal.
Roger had two decent chances to draw Levante level minutes before and after the break, but he failed to make a proper connection with either attempt and Castro gave the hosts the cushion they needed with a brilliant turn and finish 27 minutes from time.
With fourth-placed Malaga hosting leaders Barcelona later this evening both Betis and Levante sensed the opportunity to finish the weekend in the top four and it was Betis who started the brighter and crucially went ahead early on.
Castro carried the ball half the length of the pitch as Pepe Mel's men broke upfield at pace and timed his pass to perfection to allow Campbell to apply the easiest of finishes past Gustavo Munua.
The on-loan Arsenal forward wasted a big chance to make it two moments later as he skewed wide from inside the area after being picked out by Jorge Molina.
After that early flurry Levante gained a foothold in the game and could have been level when Roger was played in by Nabil El-Zhar but his shot lacked the power needed to beat Adrian.
Obafemi Martins was introduced by Levante coach Juan Ignacio Martinez for the start of the second period and the Nigerian nearly had an immediate impact as he brilliantly headed a long-ball over the top perfectly into Roger's stride, but with just Adrian to beat the 22-year-old completely miscued and the ball trickled wide.
And that miss was to prove even more crucial moments later as Castro received Nacho's pass just inside the area, expertly turned Sergio Ballesteros and then arrowed a shot into the bottom corner for his 14th goal of the season.
Campbell then wasted a great opportunity for Betis' third by not releasing the ball quickly enough when they had men over on another sprightly counter-attack, while Castro uncharacteristically missed a gilt-edged chance a minute from time, but it mattered little as Levante never threatened to get themselves back into the game after going two behind.
Los Verdiblancos now have a three-point advantage over Malaga and Rayo Vallecano in the race for fourth spot, while Levante remain a further point back in eighth.