The crash occurred about 2 a.m. in the heart of the busy Gaslamp District as revelers were heading home, according to police Sgt. Ray Battrick. Witnesses said the cab was traveling around 15 miles an hour.
The 48-year-old cab driver sustained a broken nose after being beaten by people in the crowd, who also smashed windows on the taxi, Battrick said. Security guards from a nearby nightclub intervened and detained the driver until police arrived, and he was transported to a hospital.
Police detectives were interviewing the driver, whose name has not been released. The crash did not appear to be intentional, and alcohol was not involved, Officer Michael Stirk said.
"We're trying to determine what exactly caused the accident," police Lt. Rick O'Hanlon said. "There have been some reports that he passed out."
Police said 25 people were injured. All but two were taken to area hospitals, and all were expected to survive.
An off-duty military paramedic who had been at a nearby club told the San Diego Union-Tribune the scene was initially chaos, with people screaming and yelling. He said he went to the aid of three of the injured who were lying in the street and assisted them until paramedics arrived minutes later.
A 42-year-old woman was pinned against a wall by the cab and had her leg severed, police said.
At least 17 people who were transported to hospitals had injuries such as broken bones, cuts and bruises, said Maurice Luque, a fire department spokesman. He said no one required CPR.
Officials at UCSD Medical Center and Scripps Hospital system confirmed treating victims from the collision. They would not disclose patients' conditions or identities, citing privacy laws.
A spokeswoman from Alvarado Hospital said it treated two patients with minor injuries. Both were released.
Twelve ambulances were used, some of them making more than one hospital trip, according to the Union-Tribune. Fifty-five firefighters, paramedics and support personnel from the fire department responded.
Police said it was fortunate the cab was moving relatively slowly.
"Even if he had been going 25 miles per hour, it would have been a different story," police Lt. Todd Jarvis told the Union-Tribune. "We were fortunate there were no fatalities in this incident with that many pedestrians on the sidewalk."
Authorities had no immediate plans to arrest the driver.