Osaka, who won the 2018 U.S. Open, beat the 93rd-ranked Rogers 6-3, 6-4 to set up a match against No. 28 seed Jennifer Brady in the semifinals. Rogers had won all three previous meetings against Osaka, but the 27-year-old from South Carolina made too many mistakes this time around.
Rogers finished with 27 unforced errors, while Osaka only had eight. Osaka also had seven aces.
"I just felt like she had the upper hand because I've never beaten her," Osaka, who wore a mask in honor of George Floyd before and after her match, said during her on-court interview. "I consider this a little bit of revenge."
Earlier Tuesday, Brady defeated No. 23 seed Yulia Putintseva 6-3, 6-2 to advance to the semifinals. Brady, a 25-year-old from Pennsylvania, has never been this far at a major tournament.
Brady dominated from the baseline to take a 4-0 lead in the first set and a 2-0 advantage in the second against Putintseva, who won their previous two meetings.
"The last couple of times I played her, I got caught in playing her game," Brady said. "I don't think I'm better than her at running, so I definitely was a lot more aggressive today."
On the men's side, fifth-seeded Alexander Zverev edged No. 27 seed Borna Coric 1-6, 7-6 (5), 7-6 (1), 6-3 to earn his first semifinal berth at Flushing Meadows.
Zverev was dominated in the opening set and came close to trailing two sets to one before grabbing 14 of 15 points in a pivotal stretch to take control.
"Sometimes not playing your best and finding a way is more important than playing your best," Zverev said.
The 23-year-old Zverev will play the winner of Tuesday night's quarterfinal match between No. 12 Denis Shapovalov and 20th-seeded Pablo Carreno Busta.