It was a day like Toronto has never seen and hoped it never would - a day of smashed windows, burning police cars, police cavalry charges and, for the first time in our history, the whiff of tear gas in the air.
A mob of black-clad "anarchists" roamed unopposed up Yonge Street, howling in triumph every time one of them broke a window with a hammer, brick or garbage can. Hundreds of riot police banging on their shields cleared a mostly peaceful crowd from Queen's Park. Late into the night, police were still confronting knots of roving protesters from the wet and darkened streets.
"Whose streets? Our streets!" yelled the mob as police faced them down. For at least a few scary hours on Saturday, they seemed to be right.
Perhaps we should have expected this. Authorities had warned again and again that hard-core protesters were planning to descend on the city to cause mayhem during the G20.
All the same it was disturbing, even infuriating, to see a small group of militants rampage through downtown on a Saturday afternoon, leaving the city with a black-eye and a sick feeling.
It hurt to see the city come to this - and for so little reason.
Like a householder after a break-in, the city is experiencing a sense of violation mixed with anger at the senselessness of it all.
Even police chief Bill Blair, who had warned that trouble makers were on their way to the city, confessed to being taken aback.
"I have to tell you, I think it was shocking to every citizen and everyone who witnessed the images that were being projected across our television screens," he said. "We have never seen that level of wanton criminality, vandalism and destruction on our streets."
The worst of it was that all this trauma was caused by a small group of perhaps 100 or 200 hard-core militants who broke away from the main protest march from Queen's Park to rove at will around downtown with destruction on their minds.
"This is what democracy looks like," chanted the black-clad mob moving along Queen Street past City Hall as its smashing spree began. No, this is what idiocy looks like. What, many Torontonians were asking, was the point of it all? What kind of people would do something like this?
Scrawling "class war" and "bomb the banks" on windows and walls. Smashing windows of Burger King, Starbucks and Tim Hortons while frightened staff and customers huddled inside. Screaming abuse and hurling rocks at the police trying exercise their duty to maintain order.
"This is wrong," said one passerby who saw black-masked men smash the window of a cell phone shop.
"Why?" shot back a young woman in dreadlocked black hair. "No animals or human were hurt. Look at what the corporations are doing." With a contemptuous look over her shoulder, she walked away, hand in hand with her boyfriend as if on a pleasant weekend stroll.
A few blocks down the street, Howard Dale, a deputy crown attorney who was in the area at the time, was so angry that he took matters into his own hands, grappling with a slight protester in combat pants and black-kerchief who threw a big rock at a window again and again, trying vainly to shatter it.
He told her to put the rock down. When she picked it up again, he grabbed her from behind and wrestled with her.
"We can't just stand around and do nothing," he said afterward, his voice shaking with anger.
There were other acts of bravery. At College Park on the corner of College and Yonge, a lone, grey-haired security guard came out of the building to confront the young men in black hoods who were breaking the window of a Tim Hortons. He brandished a truncheon but had to retreat when the crowd screamed threats and surrounded him.
The police, for the most part, showed restraint, backing off as a throng of a few dozen rioters roamed through the business district then up Yonge Street and along College, smashing all the way.
In fact, some of the same people who complained about all the cops in the streets for the G20 may now be tempted to ask why more wasn't done to control the mayhem-makers. There was not a cop in sight as the crowd went on its rampage on Yonge.