Canada had trailed 2-0 late in the third and appeared to be heading to defeat before coming to life to score two goals just 2:42 apart to send the game into extra time.
After Brianne Jenner had pulled one back to give Canada hope, Poulin conjured an equaliser with just seconds left on the clock.
After Canadian defenceman Rebecca Johnston backhanded the puck towards the net, US goaltender Jesse Vetter knocked it directly onto the stick of Poulin, who reacted quickly to fire home and force overtime.
Poulin's golden winner came on a power play after US forward Hilary Knight had been sent to the penalty box. Taking a pass from Laura Fortino, she slid a snapshot under Vetter and into the net.
It sparked wild celebrations as she was mobbed by her team-mates, while the Canadian contingent in the crowd sang the national anthem 'O Canada'.
It was Canada's fourth Olympic women's title and, remarkably, a 20th straight victory at the Winter Games in an unbeaten streak that stretches back to 2002.
Swiss stun Sweden for first ever medal
Earlier in the day, Switzerland pulled of a dramatic turnaround of their own to beat Sweden 4-3 and win the bronze.
It was a first ever medal for the Swiss since women’s ice hockey was introduced onto the Winter Games programme at Nagano 1998.
That had scarcely looked possible in a first period where the Swiss managed just a single shot on the Swedish goal, and the Swedes looked comfortable after taking the lead through Michelle Lowenhielm.
Towards the end of the second period, Sweden then doubled their advantage, after an error from Swiss goaltender Florence Schelling enabled Uden Johansson to find the net.
It looked to be Sweden’s game. But all that changed in the third period as, within the space of a 13-minute spell, the Swiss players suddenly discovered a new lease of life and the route to goal.
On 41 minutes, Sara Benz cut the deficit to one; then four minutes later Pheoebe Stanz took advantage of a power play to equalise, before Jessica Lutz put the Swiss 3-2 up in the 53rd minute.
The Swedes were left stunned, and it soon got worse for them as 15-year old Alina Müller increased Switzerland’s lead, firing the puck into an empty net two minutes before the final buzzer.
Pernilla Winberg managed to pull one back 43 seconds from time, sparking a final goalmouth frenzy, but the Swiss did enough to hold on, as their players embraced to celebrate a historic victory.