Atletico move top ahead of El Clasico
After a tight opening 55 minutes, the game swung in the visitors favour when Braian Rodriguez was sent-off for a second bookable offence.
Two minutes later Gabi put Atletico in front with a fine strike from 25 yards before Diego Costa sealed the three points with his 31st goal of the season.
Atletico lead Real thanks to their better head-to-head record with both sides from the capital locked on 70 points, whilst Barca are four points further back in third.
Betis had suffered a physically sapping and demoralising defeat to local rivals Sevilla on penalties in the Europa League on Thursday.
However, they restricted Atletico to relatively few opportunities in the first-half, although Costa did have a goal wrongly ruled out for offside midway through the half.
Betis could even have gone in front just two minutes into the second-half when Juan Carlos' low effort beat Thibaut Courtois but came back off the outside of the post.
Rodriguez was then given his marching orders after being shown a second yellow card for deliberate handball.
And Atletico quickly set about making their advantage count as Gabi arrowed a blistering shot into Antonio Adan's bottom left-hand corner.
Diego Simeone's men should have added to their lead moments later when Raul Garcia skewed over after Koke and Costa had passed up the opportunity to shoot on goal themselves.
Yet, it mattered little, as Costa swept home Koke's headed pass from close range to double their advantage 27 minutes from time.
Related Atletico Madrid News