Real Madrid fight back to defeat Mallorca
However, third-placed Valencia missed the chance to close within a point of Barca when they slipped to a 1-0 defeat at home to Real Sociedad in Saturday's late kick-off.
Mallorca's Israel forward Tomer Hemed's superb glancing header gave the home side a shock lead over Madrid six minutes before the break at their Iberostar stadium but Real substitute Higuain levelled with a deflected strike 18 minutes from time.
Callejon grabbed the winner for the visitors in the 85th minute when he ran on to a loose ball and fired through a crowd of defenders past Hemed's international team-mate Dudu Aouate in the Mallorca goal to lift Real to 46 points from 18 matches.
Real had to battle for the victory and coach Jose Mourinho, who switched to a more attacking formation with only three defenders when chasing the game in the second half, praised his Mallorca counterpart Joaquin Caparros and his players.
"We were playing against a team with a great manager who were perfectly organised defensively," Mourinho told a news conference.
"They were very well prepared for this match," added the Portuguese. "They knew what to expect from us and they were very focused and did not make any mistakes."
Sociedad forward Antoine Griezmann got the only goal of the game in the 56th minute against Valencia when he controlled the rebound from his own shot and fired over keeper Diego Alves.
The victory lifted the San Sebastian-based club to 13th on 21 points, two ahead of Mallorca in 15th.
Sevilla's bid to qualify for next season's Champions League suffered a setback when they followed up a three-match losing run with a 0-0 draw at home to Espanyol earlier on Saturday.
The Andalusian club, who have managed only 19 goals in 18 games this term, are sixth on 25 points.
Thousands of fans of bottom club Real Zaragoza gathered to protest against president Agapito Iglesias before their match at home to Getafe and continued voicing their complaints about his administration inside the stadium.
The Aragonese club were closing on only a third win of the campaign after Maurizio Lanzaro put them ahead shortly before half-time but Getafe snatched an equaliser 11 minutes from time when Javier Paredes diverted the ball into his own net.
Struggling Granada's troubles deepened when they lost 2-1 at home to Rayo Vallecano and dropped to 16th.