Jorge Molina put the visitors in front after a well-worked passing move in the 59th minute, only for Getafe to quickly equalise through Diego Castro.
Midfielder Benat, on the fringes of Vicente del Bosque's Spain team, restored the Betis lead with a curling free-kick into the top corner from wide of the area in the 74th.
Two minutes later, striker Ruben Castro sprinted clear following a counter-attack to put Betis 3-1 up.
Getafe pulled one back through Pedro Leon with a minute to go, but as the hosts poured forward looking for the equaliser, Betis broke away in stoppage time and Salva Sevilla netted the deciding goal.
Betis are fourth with 19 points from 10 games, nine behind unbeaten leaders Barcelona, who beat Celta Vigo 3-1 at home on Saturday.
Atletico Madrid are second with 25 points after suffering their first defeat, 2-0 at Valencia, while champions Real Madrid, who thumped Real Zaragoza 4-0, are third with 20 points.
Getafe v Real Betis match data
Rubén Castro was on the pitch for 90 minutes against Getafe. The striker scored in the 76th minute, assisted on Jorge Molina's goal in the 59th minute and completed 23 passes. Castro's favorite passing target was Beñat, with whom he linked up five times.
Goals also came from a right-footed shot by Diego Castro in the 68th minute, a left-footed shot by Pedro León in the 90th minute and a right-footed shot by Salva Sevilla in the 93rd minute.
Real Betis managed to secure the win despite the opposition having more shots. Getafe fired in 18 shots, with three of them on target, while Los Verdiblancos produced seven shots, five of which were accurate.
Getafe controlled possession for about half the contest thanks to strong open field play. Geta won 52 duels and 22 headers, which led to 12 shots, including three on target. The most effective of Getafe's two substitutions was Paco Alcácer, who, after replacing Álvaro in the 65th minute, assisted on Castro's goal. The four attempts by Pedro León were the most of any Getafe player.
Azulones and Real Betis split possession fairly evenly during the first half and the scoreboard was level at zero. Getafe recorded nine shot with one on net over the match's first 45 minutes, while Beticos managed two, with none on target.
Azulones are in tenth place with a record of four wins, five losses and one draw. Real Betis now sit in fourth in the table with a record of six wins, three losses and one draw.