Barca have 72 points with nine games left to play, and remain six ahead of Real.
After an aggressive start from Valladolid, Cameroon striker Eto'o played a slick one-two with Xavi and lobbed the goalkeeper for his 26th league goal of the season just before the break.
Coach Pep Guardiola only used Lionel Messi and Daniel Alves as substitutes with one eye on next week's Champions League quarter-final at home to Bayern Munich.
Malaga put Real under pressure in similar fashion in the late game but a burst from midfield by Argentine striker Higuain saw him score the only goal just after the restart.
Sevilla are third with 57 points after a first-half Frederic Kanoute penalty earned a 1-0 win at Recreativo Huelva.
Fourth-placed Villarreal were unable to cope with Almeria striker Alvaro Negredo as he inspired his side to a 3-0 home win.
The former Real Madrid youth team player netted his 17th of the campaign after seven minutes and set up Pablo Piatti and Mane for two more before half-time.
He hit the post after the restart just before Villarreal were reduced to 10 men when Robert Pires collected his second yellow card.
At the foot of the standings, Numancia grabbed a last-minute equaliser from the penalty spot to draw 3-3 in a thriller at Real Betis, and Copa del Rey finalists Athletic Bilbao ended a run of four successive defeats to beat Real Mallorca 2-1 at home.