Investigators say the victim's presence of mind to remember the man's licence plate number and vehicle model helped them to detain him within a matter of hours.
A staff sergeant at 51 Division said the man arrested has been linked to three incidents, but he has so far been charged in relation to two robberies around Jarvis, Wellesley and Parliament streets between 2 and 3:30 a.m.
The first robbery was called in at 2:10 a.m. One of the victims, in town for a holiday with a friend, said the man approached her and held a gun to her head, taking cash and credit cards.
After a victim reported being robbed and gave police a description of the man's getaway vehicle, a tow-truck driver listening to police scanners happened to spot a matching vehicle with the same plate number near Danforth and Coxwell.
Police arrested Saad Hassan, 22, around 5:15 a.m. He has been charged with two counts of robbery, two counts of use of a firearm, one count of abduction and one count of threatening death.
Hassan is due to appear in court at College Park today.