World number one Dustin Johnson broke free from the leading pack with birdies on his opening two holes and stayed out front the rest of the way to capture the Canadian Open and his third PGA Tour title of the season on Sunday.
After two runners-up finishes, Johnson finally snatched the Canadian crown with a workmanlike final round of six-under 66 that left the big-hitting American three shots clear of Kim Whee and An Byeong-hun.
The South Koreans both birdied the final hole for matching 69s to share second on 20-under-par.
Keegan Bradley made a rousing final round rally, carding the round of the day with an error free eight-under 64 to finish alone in third a further shot back.
Shane Lowry rounded off a solid week with a 69 to finish on 14 under par and in a share of 12th place, with Graeme McDowell a shot further back.
Coming off his first missed cut of the year last week at the British Open, Johnson rebounded in some style to clinch his 19th career title with a winning tally of 23-under 265.
Johnson becomes the first player since Tiger Woods in 2009 to win three or more times in three consecutive years.
There was a logjam at the top of the leaderboard at the start of the final round with Johnson, An, Kim and Kevin Tway all sitting on 17 under and holding a four-shot advantage over the chasing pack.
Johnson’s experience provided the early edge as he wasted no time breaking free with birdies at one and two, while the three co-leaders, who were all chasing their first PGA Tour titles, picked up early bogeys.
With his challengers off to a shaky start Johnson calmly seized control, opening up a three-shot lead after just four holes.
But the American’s charge stalled as he struggled with his putter and had to settle for five consecutive pars before rolling in a 12-footer at the eighth.
As Johnson and An stepped onto the ninth tee, the horn sounded halting play due to severe weather in the area.
When play resumed following a nearly two hour delay, the gap tightened as Johnson recorded a par and An and Kim picked up birdies to cut American’s lead to two.
After Johnson took his only bogey of the day at the 12th, his lead was trimmed to a single shot but the 34-year-old was unshakeable, answering with a birdie at 13 to get back on track.
Collated final scores & totals in the USPGA Tour RBC Canadian Open (USA unless stated, par 72):
265 Dustin Johnson 68 66 65 66
268 Whee Kim (Kor) 67 65 67 69, Byeong-Hun An (Kor) 66 67 66 69
269 Keegan Bradley 69 63 73 64
271 Abraham Ancer (Mex) 73 66 65 67
272 Danny Lee (Nzl) 68 69 67 68, Tommy Fleetwood (Eng) 66 71 68 67
273 Joel Dahmen 69 68 67 69, Andrew Putnam 67 68 71 67, Mackenzie Hughes (Can) 69 69 67 68, Brandt Snedeker 68 70 68 67
274 Rory Sabbatini (Rsa) 68 67 68 71, Jason Kokrak 69 69 70 66, Hudson Swafford 66 70 67 71, Shane Lowry (Irl) 70 67 68 69, Ian Poulter (Eng) 66 69 72 67
275 Ricky Barnes 67 70 69 69, Graeme McDowell (NIrl) 67 72 67 69, Harold Varner III 69 67 72 67, Kevin Tway 66 65 68 76, Tyler Duncan 71 69 65 70
276 Adam Schenk 64 75 71 66, Shawn Stefani 70 70 68 68, Robert Garrigus 63 72 69 72, Ryan Palmer 68 72 70 66, Ryan Blaum 69 71 71 65, Gary Woodland 67 72 68 69, Ryan Yip (Can) 68 72 66 70
277 Nick Watney 69 71 70 67, Charley Hoffman 68 71 66 72, George Cunningham 67 70 69 71, William McGirt 69 70 69 69, Si Woo Kim (Kor) 68 72 70 67, Jimmy Walker 70 69 68 70, Jhonattan Vegas (Ven) 69 70 68 70, Johnson Wagner 68 65 71 73
278 Brian Stuard 70 66 74 68, Chris Stroud 65 72 67 74, Roger Sloan (Can) 68 69 73 68, Stewart Cink 70 69 68 71, Tony Finau 71 67 67 73, Chad Campbell 72 66 71 69, Joaquin Niemann (Chi) 67 67 72 72, Jonathan Randolph 72 65 76 65
279 Chris Crisologo (Can) 68 69 73 69, Scott Stallings 70 69 69 71, Jim Furyk 69 71 69 70, Rob Oppenheim 68 68 74 69, Martin Piller 72 67 71 69
280 Steve Stricker 68 69 71 72, Martin Flores 68 71 75 66, Kelly Kraft 71 68 73 68, David Lingmerth (Swe) 69 70 75 66, Jamie Lovemark 71 69 66 74, Ethan Tracy 70 67 70 73, Zach Wright 69 71 70 70, James Hahn 68 70 73 69, John Huh 70 70 72 68, Zac Blair 67 67 71 75, Troy Merritt 71 68 68 73
281 Peter Malnati 70 70 69 72, J.B. Holmes 74 66 72 69, David Hearn (Can) 68 72 69 72, Matt Every 68 72 69 72
282 Aaron Baddeley (Aus) 68 66 75 73, Keith Mitchell 69 71 69 73, Dominic Bozzelli 67 71 71 73, Alex Cejka (Ger) 69 67 74 72
283 Cameron Percy (Aus) 68 68 77 70, Lanto Griffin 69 68 72 74
284 Stephan Jaeger (Ger) 69 71 76 68, Benjamin Silverman (Can) 73 63 73 75, Sean O'Hair 71 69 74 70, Nick Taylor (Can) 68 67 72 77, Steve Wheatcroft 68 68 74 74
285 Chris Kirk 67 72 76 70
286 Rod Pampling (Aus) 67 70 75 74
288 Sam Ryder 69 70 78 71