Two eye-catching goals from Luis Garcia, either side of a tap-in from Luis Enrique, set Barcelona on their way and the home side held on despite a 90th-minute chip from Samuel Eto'o and an Andrija Delibasic strike deep in injury time.
Victory for Barcelona took them to within a point of third-placed Deportivo Coruna and kept second-placed Valencia in their sights.
With 11 games remaining, Real Madrid lead the standings with 60 points, following their 1-1 draw away to Racing Santander on Saturday, with Valencia now six points behind them after their 3-0 win at home to Deportivo Coruna.
Deportivo remain third on 50 points with Barcelona breathing down their necks.
Barcelona have an eight-point cushion in the fourth and final Champions League qualification slot after Athletic Bilbao were beaten 4-1 at home to Valladolid and Atletico Madrid had to strike late to claim a 1-1 draw at home to Murcia.
Both Bilbao and Atletico have 41 points from 27 games, in fifth and sixth respectively.
Barcelona were in command against Mallorca for all but the final three minutes and managed to hold on for a well deserved win.
"It happens quite often, a side thinking all the work's done and then conceding goals," said Barcelona coach Frank Rijkaard.
"There was a little bit of tension but we can be happy with another victory, with the only shame being that we didn't score more goals."
Rijkaard's side opened the scoring in the third minute, when Garcia lashed in from outside the box after Michael Reiziger's cross had been blocked.
Luis Enrique, playing as a makeshift striker in the absence of Patrick Kluivert and Javier Saviola, celebrated his return to the side by making it 2-0 in the 16th minute.
Mallorca keeper Miki spilled the ball after a mix-up with his defender Ivan Ramis and allowed Ronaldinho to set up a simple chance for the Spanish midfielder.
Barca hit the frame of the goal twice in the remainder of a one-sided first half, with a Giovanni van Bronckhorst free kick and a header from Mallorca's Edu Moya that came close to supplying an own goal.
Xavi hit the bar with a 40-metre lob early in the second half but Barcelona did not have to wait too long for a third, Garcia blasting in his second outstanding goal after Philip Cocu's header had been punched away by Miki.
Garcia missed three clear chances to complete his hat-trick before Mallorca's mini-revival gave Barca fans just a slight scare at the end.