Williams, whose previous best in Tokyo was the quarterfinals in 2004, broke Bouchard with a forehand down the line to go up 5-2 in the third set and held on to win the match that lasted three hours at Ariake Colosseum.
"She played so well," Williams said. "She's going to be a great player -- she's already a great player -- and it was just a fight to the end."
Also, fourth-seeded Caroline Wozniacki beat Lucie Safarova of the Czech Republic 2-6, 6-3, 6-2 to set up a semifinal with fifth-seeded Angelique Kerber of Germany, who ousted second-seeded Agnieszka Radwanska of Poland 6-4, 6-4. Wozniacki and Kerber are 3-3 in head-to-head matches. Wozniacki won their semifinal match at Indian Wells in March.
The 19-year-old Bouchard put Williams on notice when she built a 3-1 lead in the quarterfinals. Williams fought back to break her three times in their first meeting.
In the second set, Bouchard capitalized on her second set point, winning the tiebreak 7-4.
"I was just fighting until the end," Williams said. "It was disappointing to lose the second set, but to win the third set is the goal, so I'm happy."