World number one Simona Halep won her second Rogers Cup title in three years by defeating Sloane Stephens in a repeat of the French Open final.

Halep had got the better of American Stephens at Roland Garros, despite losing the first set, to claim her first grand slam title and the Romanian once more came out on top in a three-set contest 7-6 (8-6) 3-6 6-4.

A gutsy performance from Stephens saw her survive three match points before Halep claimed the victory at the fourth time of asking with an ace in an encounter that lasted over two and a half hours.

Halep started strongly and raced into a 4-1 first-set lead on the back of her dominant forehead before Stephens finally awoke and replied with two breaks of her own.

Neither player could hold their next service games and Stephens went ahead for the first time in the contest at 6-5 only to fail to convert either of her set points as Halep held and forced a tiebreak.

At 6-4, Stephens again had her chances but it was Halep who would take the first set with four points in a row. A superb backhand down the line gave her set point, which she converted to win the 72-minute opener.

Stephens responded by winning each of Halep's first two service games to 15 and, at the fourth time of asking, she converted a break and set point courtesy of an errant Halep backhand to force a decider.

Halep raced into a 2-0 lead in the third set and, though Stephens responded, she lost on her serve again from 40-0 up and then went 5-2 down, before digging deep once more at match point to break and prolong the encounter.

Halep had two further chances to claim the victory Stephens' serve, only for the American to produce further impressive resistance to hold.

However, with her fourth match point, Halep produced an ace down the middle to settle a gruelling encounter.