A first-half own goal from Diego Reyes was followed by Saul Niguez's acrobatic volley and Antoine Griezmann's penalty in the second half.
Barca can restore their eight-point advantage and set a Spanish football record of 35 games unbeaten if they win at Rayo Vallecano on Thursday.
Third-placed Real Madrid travel to Levante on Wednesday.
Atletico Madrid easily beat Real Sociedad to close the gap on La Liga leaders Barcelona to five points.