It is the first time Barcelona and Atletico have both been in La Liga’s Champions League qualification spots since August.
Atletico have struggled for solidity and consistency since winning the title last season while Barca are still recovering from a financial crisis and the departure of Lionel Messi.
Yet both teams will be growing in confidence that they can now achieve their minimum objective, which is to avoid missing out on the Champions League next season and the further financial damage that would cause.
Barca are now third, level on points with Atletico in fourth, but having played a game fewer. They might both fancy their chances of finishing second, with stuttering Sevilla only seven points in front.
Atletico’s win over Betis was particularly significant given Betis started the day in third and have looked the mostly likely candidates to upset the established top four.
Felix, who was again preferred to Luis Suarez, has four goals in his last four games.
“Everyone needs time. We ask everything from Joao and he is doing it,” Diego Simeone said.
Barcelona, meanwhile, had to come from behind at the Martinez Valero after Fidel capitalised on a Pedri error, only for Barca to come storming back thanks to two substitutes.
Ferran Torres diverted in from close range on the hour before Memphis Depay scored an 84th-minute penalty after the striker had drawn Elche’s Antonio Barragan into a handball.
“It seemed we were going to lose a game we did not deserve to lose,” said Barca coach Xavi Hernandez. “We deserved to win by more than one goal.”
Victory continues an impressive run of form for Xavi’s side, who have not lost in the league since December and came into this game on the back of scoring four times in three consecutive games for the first time since 2017.
Elche were tiring, Barca pushing for a winner and in the 82nd minute they got their chance as Depay wriggled around Barragan, the ball popped up and Barragan instinctively lifted his arm to meet it. Depay swept the penalty into the top corner.
Atletico were ahead after 75 seconds in Seville as Jan Oblak’s punt downfield was flicked onto Angel Correa, who took advantage of some lethargic Betis defending to cross to Felix, the striker given an easy finish.
Betis levelled in the fifth minute of injury-time at the end of the first half after Hector Herrera was robbed of the ball under pressure from Youssouf Sabaly and Cristian Tello guided the loose ball brilliantly into the corner.
Felix struck again on the hour when Marcos Llorente raced in behind and picked out the Portuguese with a cut-back before Thomas Lemar added a third with 10 minutes left, sidefooting in after an electric Antoine Griezmann run down the right to secure victory.