He finished six seconds ahead of ahead of Michał Kwiatkowski (Sky) over the eight-kilometre course with Victor Campenaerts (Lotto Soudal) rounding out the first podium a second later.
Dennis was the fourth-to-last rider to roll off the ramp on Stage 1 and as he started his 8km effort, he was chasing the benchmark of 9min 46sec set by Kwiatkowski.
"I think the finish today was really at the top of the climb," Dennis said. "You couldn't lose too much time on the downhill so, it was really all about the first five and a half kilometres and after that, I just tried to get to the finish as fast as possible.
"There was a bit of pressure and I saw Kwiatkowski's time after my warm up and I won't lie, I was saying I was going to beat it but in my mind, there was still a little bit of doubt. But, you stick to the plan and if you're feeling good you can go a little bit harder and really it was only a six-thirty effort to the top of the hill and from there if you were in front it was hard to lose."
The reigning Australian national time trial champion proved why he was one of the pre-race favourites, settling into his rhythm quickly and powering around the first half of the course to knock five seconds off the best time at the intermediate checkpoint.
Dennis left everything out on the road on the fast run into the finish before powering across the line in a time of 9min 40sec which proved more than enough to take the stage win and the first leader's jersey of the race for a second consecutive year.
Richie Porte, who was fighting a bout of illness prior to the start in Malaga, posted a time of 10min 30sec to stay in the mix with the rest of the general classification contenders.