Updated 1/27/11 12:48 a.m.

CHICAGO (CBS) – It was a long police chase that might have come from a Hollywood movie but it happened right here in Chicago and the north suburbs. And it had early rising viewers glued to their TV screens, watching it all in amazement.

It began at a Subway sandwich shop in Des Plaines before dawn when a passenger asked his taxi driver to stop and wait.

Surveillance video shows the passenger rushing behind the counter to get at the cash drawer, but clerk Jose Santiago battled fiercely with the suspect. At one point, Santiago grabs a bread knife and goes after the attacker with it again and again.

LISTEN: Newsradio 780’s John Cody Reports

Santiago’s attitude, he said, was, “You pushed the door, you pushed me. So yes,” he said, he started fighting.

“It was looking rough for Jose. He was getting beat pretty good, but he grabbed a knife and came at the guy and then beat him in the head with a chair and he just owned this guy,” Subway manager Tim Ryan told CBS 2’s Mike Puccinelli.

The video shows the suspect racing outside where witnesses said he battled his cab driver, took the cabbie’s keys, and drove off.

As Kris Habermehl reported from Chopper 2 HD, the driver of Rosemont Elite taxi No. 133 was carjacked around 6 a.m. in Des Plaines.

Officials at Rosemont Elite Taxi said the driver, Eleftheria Papainonnou was shaken up, but not injured.

“He’s been here with us for a long time. He’s in his 60s, so he’s a little shaken about this,” manager Alice Catalano said. Papainonnou’s son is a Chicago police officer.

The suspect stole the cab, then weaved through Lincolnwood, Skokie, Morton Grove, Niles, Evanston and Wilmette, and even right through the Northwestern University campus. The suspect even drove on sidewalks on Northwestern’s Evanston campus as he tried to elude the police.

Eyewitness Tyrone Randolph told CBS 2’s Susanna Song that, “I heard the alarms coming down from the street and I came down and … seen cars fly past at high speeds.”

The chase ended when the cab was clipped by a school bus in the Rogers Park neighborhood, and police caught the suspect as he tried to flee on foot.

Police began chasing the minivan in Morton Grove. Habermehl caught up with the taxi on southbound Crawford Avenue at Oakton Street around 6:15 a.m.

The taxi first weaved around several major thoroughfares in Lincolnwood, Skokie, Niles and Morton Grove.

Police chased the cab at speeds of about 80 mph down Crawford Avenue, then down Touhy Avenue through Skokie and into Niles.

The single Morton Grove squad car pursued the suspect north onto Niles Center Road, west on Howard Street, and north on Gross Point Road, before finally giving up the chase for safety reasons as the taxi headed north on Gross Point Road and east on Dempster Street.

Once police stopped the pursuit, the taxi began stopping at red lights, but continued to weave aimlessly down several north suburban roadways.

The taxi then headed into Evanston on eastbound Dempster Street, and made it all the way to Sheridan Road near Lake Michigan.

The cab headed north on Sheridan Road into Wilmette, and was pursued by Evanston police beginning at Chicago Avenue and Dempster Street. But when Evanston police turned their roof lights on, the taxi driver began driving erratically, and police backed off.

After that, the taxi was headed south on Green Bay Road in Wilmette, and ended up within the campus of Northwestern University back in Evanston, maneuvering along sidewalks and down access road before returning to Sheridan Road.

Finally, the driver headed into the city of Chicago, weaving down Touhy and Estes avenues in the Rogers Park neighborhood and ending up on Clark Street.

Chicago Police quickly resumed their chase, and the taxi picked up speed until it was clipped by a school bus at Clark Street and Columbia Avenue near the Rogers Park District police station.

The car thief bailed out and tried to escape on foot, but kept slipping in the snow and ice. Police officers with guns drawn quickly tackled and apprehended the suspect.

He likely will face multiple charges and traffic citations.

Only the school bus driver was on board the bus at the time. He was transported to Saint Francis Hospital in Evanston with minor injuries.

Debra Johnson, a representative for Lake Shore Schools, said the bus driver was on his way to pick up students at the time.

CBS 2’s Kris Habermehl, Susanna Song and Mike Puccinelli and the Sun-Times Media Wire contributed to this report.