The robbery was reported at about 8:45 p.m. in the 1000 block of Folsom Street, near Sixth Street.
The male suspect flagged down the taxi, got inside and asked the driver to take him away from the area, according to police.
A short time later, the suspect put a knife to the driver's neck and ordered him to turn off the car and his cellphone. The thief then took money from the driver and fled on foot, police said.
The 38-year-old driver was not injured in the robbery.
No information was immediately available about the suspect, who remains at large. Anyone with information about the case is asked to call the Police Department's anonymous tip line at (415) 575-4444 or send a tip by text message to TIP411 with "SFPD" in the message.