Rohan Dennis (BMC) won Stage 3 of the Tour Down Under with a superb uphill sprint on Thursday.

Teammate Cadel Evans followed Dennis across the line to finish second while Tom Dumoulin (Giant-Alpecin) came in third.

The BMC duo now also hold first and second on the general classification after the 143.2 kilometre stage from Norwood to Paracombe.

Once again it was a quartet of riders who made up the day's breakaway: Will Clarke (Drapac), Lasse Norman Hansen (Cannondale-Garmin), Calvin Watson (Trek) and Axel Domont (AG2R La Mondiale).

Sky and Giant-Alpecin set a furious pace at the front of the peloton and one by one the breakaway riders were reeled in, with Clarke the last to fall just eight kilometres from the end.

Dennis made his move underneath the red banner indicating the start of the final kilometre, and by the time his rivals had reacted the 24-year-old had built up an insurmountable lead.

Evans cleverly sat back while others attacked before making his move to take second, while Dumoulin came in just behind.

"I was caught further back in the lead in and I just thought, 'ok don't stress, just take little steps towards the front', and don't try to go into the red zone before you actually hit the hill," Dennis said.

"I saw obviously Cadel was away with four other guys, with Richie and Pozzovivo and Dumoulin, so I sat behind one of the Movistar riders and just crossed my fingers that he'd bring me back.

"The plan was for me to actually attack at the bottom and put the guys of Richie [Porte] and [Domenico] Pozzovivo and a couple other riders under pressure and let Cadel just sit back, but obviously I was still too far back to actually follow that plan, we got the total opposite.

"But Cadel, he's still in my eyes a leader and I'm going to respect that. I'm not sure how the team meeting's going to go but we're still both protected.

"There's still Willunga, Mount Barker and the last crit. So there's still solid racing to come."

The race continues on Friday with Stage 4, which will take the peloton 144.5 kilometres from Glenelg to Mount Barker.