The defending double world champion, who leads Red Bull team-mate Sergio Perez by 53 points in the title race, said his crew made all the right calls at the right times in the changing conditions.
"I think yesterday wasn't fantastic for me so we made a few changes to the car and, of course, today was completely wet so it's a bit different," said the Dutchman.
"But I think the car improved in general to drive and in the wet like today you have to stay on top of all the conditions and the decisions.
"It was super-slippery out there in places, but we made all the right calls at the right times to do the lap times. And of course, I am very happy to be on pole here again."
It was his second consecutive pole at the Circuit Gilles Villeneve, completed a hat-trick of poles after Monaco and Spain and was his fifth of the season and 25th of his career.
Perez, who has harboured hopes of mounting a serious title challenge this year, experienced another disappointing day by missing out on reaching the final top-ten shootout for the second successive race.
The Mexican driver said he struggled with his tyre selections and described the session as a "bit of a lottery".
Perez qualified 12th behind Ferrari's Charles Leclerc who also struggled for tyre performance in the changing conditions.