Betis, who started the weekend in third place, dropped below Barca and Atletico to fifth place with 46 points from 27 games.
Felix opened the scoring in the first minute with a close-range strike from an Angel Correa cross.
Betis equalised just before the break when Cristian Tello fired home an angled shot from the edge of the box.
Atletico dominated following the break. Felix scored his second after Marcos Llorente led a quick counter-attack before crossing to the Portugal international, who made the final touch from inside the box.
Felix has scored four goals in his last four games in all competitions and has been instrumental in reviving Atletico's hopes of securing a Champions League place after their difficult start to the season.
"We are enjoying a great momentum," Felix told reporters after Atletico's third consecutive league win. "I think we were lacking attitude before but now it's all clear, the locker room is united in chasing the same goal... if we keep playing like this, we will keep winning."
Both teams created a number of scoring opportunities during the entertaining encounter, with Betis frustrated time and again by some spectacular saves from Jan Oblak.
The Slovenia international stopped a curled effort from Joaquin directly from a corner kick and blocked at least three further attempts from the Betis players.
"Only like this, with this intensity, we can keep fighting for the league," Oblak told reporters. "The season is long and anything still can happen so we will keep grinding until the end."