Ponson (5-5) allowed two runs as he posted just his third win in his last 13 starts since May 23. The righthander walked four and struck out five, notching his first win over the Devil Rays since May 30, 2000.
With the Orioles owning a 1-0 lead in the fifth, Richard belted his second homer of the season, a two-run blast off rookie Jorge Sosa that cleared the wall inside the foul pole.
One inning later, Gibbons hit his 20th homer, a two-out shot to center that capped the scoring for Baltimore.
Rookie Jorge Julio allowed one run in the ninth but induced Brent Abernathy to pop out on the first pitch with the bases loaded and two outs to notch his 20th save.
Sosa (1-4) allowed four runs and four hits in 5 2/3 innings and has yielded nine runs over his last two outings.