Oriol Riera fired them ahead early on but it was backs to the wall stuff for most of the first-half as struggling Getafe dominated proceedings.
Osasuna improved in the second half and eventually got a second goal through Roberto Torres as the home side moved five points clear of the drop and extended Getafe's winless league run to eight games.
Getafe had the chance to take the lead in the first minute when Jordan Loties brought down Ciprian Marica in a dangerous position.
Pedro Leon's free-kick was only parried away by Andres Fernandez but Roberto Lago could not head home the rebound.
The visitors were made to pay for that miss in the seventh minute as Riera put Osasuna ahead in impressive fashion.
The striker latched onto Francisco Silva's pass and lobbed Miguel Moya from 18 yards.
Angel Lafita then brought a smart save from Fernandez as Getafe battled to get back in it and the keeper was called into action again shortly after from a Lago set-piece.
The visitors were beginning to dominate and Diego Castro was the next to test Fernandez before Lafita headed wide just after the half hour.
Miguel de las Cuevas forced a smart save from Moya just before the break but Osasuna were lucky to go in with their lead intact.
Alvaro Cejudo nearly doubled their lead just after the break as he shot over the bar and Torres was next to try his luck as made Moya work with a long-range effort.
The second half had seen the game turned on its head as Osasuna continued to press and Loties saw a good chance saved before they eventually got their second two minutes from time.
Alejandro Arribas found Torres on the edge of the penalty area and the midfielder hit a low crisp drive into the bottom corner to seal the points.