Diego Simone's men were defeated 3-0 by rivals Real Madrid at home last weekend, seven days after losing against Real Sociedad, but they got back on track domestically with a comfortable win on the road.
An early penalty save from Jan Oblak prevented them from falling behind, and Godin and Gameiro found the net in the 36th and 37th minute before substitute Yannick Carrasco scored in stoppage time to leave struggling Osasuna in the relegation zone.
"Osasuna never gave up," Simeone said in his post-match press conference.
"Despite the scoreline they kept trying and forced us to make the substitutions to introduce Saul [Niguez], [Yannick] Carrasco and Thomas [Partey].
"Osasuna started strongly in the first 20 minutes and Oblak was decisive by saving the penalty.
"[Diego] Godin's goal then allowed us to feel comfortable.
"In the second half we were very organised and demonstrated good collective effort, before finishing the game off at the end."