The 26-year-old Romanian star also won the hard-court event that rotates between Toronto and Montreal in 2016 in Montreal.
In a rematch of Halep’s French Open final victory, she overcame Stephens in the match that saw 15 service breaks. Halep has won her past six meetings with the 25-year-old American. Stephens, preparing for her US Open title defense, is 0-8 against No. 1-ranked players.
Halep won her third title of the year and 18th overall.
A large Romanian contingent waving red and yellow flags chanted Halep’s name between points. However, there were just as many pulling for Stephens in a match of two players who don’t overpower with their serves but hammer groundstrokes down the lines.
A back-and-forth opening set saw Halep jump to a 4-1 lead before Stephens found the range with her forehand and broke service three times to take a 6-5 lead. The American then wasted two set points as Halep forced a tiebreaker.
Stephens went up on two Halep double faults, but the Romanian stormed back to take the set. It was the first set Stephens lost all week.
Stephens added three more breaks to take the second set, but lost her serve to open the third.
She broke back for 2-2, but then suffered a letdown as Halep broke service twice more to take the lead. Stephens fought off three match points for one final service break before Halep closed it out.