She touched the wall in an Olympic record time of 2:03.03 at La Defense Arena, 0.81 seconds ahead of American silver medallist Regan Smith.
China's Zhang Yufei took the bronze.
It was McIntosh's third medal of the Paris Games, having taken a dominant 400 metres individual medley gold on day three of the meet and silver in the 400m freestyle on day one.
The butterfly win also made McIntosh the first Canadian swimmer ever to claim multiple Olympic golds.