Rodriguez (3-3) allowed just one run on three hits in the longest outing of his career. He walked one and struck out six.
Gunnar Henderson hit a three-run double and Ryan O'Hearn added a solo home run for the Orioles, who have won three straight games and four of their last five.
Rodriguez retired 11 Padres in a row after permitting a second-inning single to Xander Bogaerts. Garrett Cooper broke the streak with a solo shot to lead off the sixth, providing the only run for the Padres, who have lost seven of their last eight games.
After Rodriguez worked around a leadoff single in the seventh, Jacob Webb worked a scoreless eighth before Felix Bautista came on for the ninth and ended up securing his 32nd save of the season.
San Diego starter Yu Darvish (8-8) surrendered four runs on eight hits in seven innings. He walked one and fanned six.
O'Hearn opened the second with a 343-foot drive to right on a 1-2 sweeper from Darvish for his 10th homer of the season.
With one out in the fifth, Aaron Hicks and Jordan Westburg hit back-to-back singles off Darvish, who then walked Adley Rutschman to load the bases for Henderson.
The left-handed-hitting Henderson then went the opposite way on a first-pitch curveball from Darvish, dropping a line drive just inside the left field foul line to clear the bases.
Henderson, O'Hearn and Hicks each had two hits for the Orioles.
Despite taking the loss, Darvish still made history, passing Hideo Nomo for the most strikeouts by a Japanese-born pitcher in major league history. Darvish has 1,919 strikeouts.
Cooper's 14th homer of the season was his first as a Padre. He was acquired from the Miami Marlins on Aug. 1.
—Field Level Media