If you have a bank account that supports Interac Online you can buy instantly. It's kind of like the envy of the world. No one else can deposit money into an exchange directly from their bank account instantly but Canadians. All 3 Canadian exchanges support Interac online. (VOS, CaVirtex, QuadregaCX). If your bank doesn't support Interac Online these exchanges can do a direct withdrawal via EFT (takes 3-5 days) from your bank account. The exchanges are the best, cheapest and with Interac fastest way to buy Bitcoin. They require KYC of varying strictness depending on the deposit methods you will use.
If you don't want to go through the KYC process of the exchanges QuickBt, InstaBt, and Instacoins allow you to buy online near instantly with Interac Online. These charge quite the mock up and I have used ATMs that have lower fees than them. These also have limits on amount purchased (QuickBt is 0.2 BTC, InstaBt is 0.5).
or you can try this :
https://www.cavirtex.com/homeIf you don't mind paying huge fees like 2-3.5%, then you can also find BTMs, there are a few scattered in major cities.