Struggling Betis took the lead in the 16th minute through Leo Baptistao before Ruben Castro made sure of the points before half-time.
The result leaves the Seville-based side at the bottom of the overall standings but they cut the gap to safety to eight points. Getafe remained in 15th place with 27 points.
The match was evenly contested and Betis' performance, along with the result, was the perfect preparation for manager Gabriel Calderon ahead of his side's Europa League round of 16 derby clash with Sevilla next Thursday.
Leon had a couple of good early chances for Getafe but Jordi and Juanfran kept the midfielder at bay before Baptistao gave the home side the lead with a close range header from the left side of the box.
Getafe midfielder Pablo Sarabia then forced a save from Antonio Adan but it was Betis who made the only other breakthrough of the match when Castro beat Jordi Codina in the 39th minute.
Alfred N'Diaye sent in a pass from his own half and found Castro, who fired the ball in from 20 yards.
Both sides struggled to get any shots on target after the break before on-loan Sunderland midfielder N'Diaye had the best effort for Betis in the 72nd minute when he forced a save from the Getafe keeper.
Angel Lafita went close at the other end as the clock ticked down but Adnan kept his strike from the middle of the area at bay to secure a clean sheet.