The 72-year-old had “blood all over his face” when he was pulled from the wreckage by golfers, an employee at the course told a local TV station.
The veteran actor was initially reported to be in a critical condition but that was later downgraded.
The plane’s pilot was in a “fair to moderate” condition when he was taken to hospital, a Los Angeles Fire Department spokesman told reporters at the Penmar Golf Course in Venice, southwest of Los Angeles.
Harrison reportedly suffered multiple gashes to his head after the World War II two-seater plane went down early on Thursday afternoon.
Footage of the downed plane shows its nose cone ripped open, with substantial damage to the rest of the plane’s bodywork.
Witnesses helped Harrison escape the wreckage. The actor was able to use his legs and was alert and conscious, the fire spokesman told reporters.
Jeff Kuprycz was golfing when he saw the plane taking off, AP reports.
“Immediately you could see the engine started to sputter and just cut out, and he banked sharply to the left,” he said.
“He ended up crashing around the eighth hole.”
Kuprycz said the plane was about 200 feet (61 metres) overhead when it plunged to the ground.
“There was no explosion or anything. It just sounded like a car hitting the ground or a tree or something. Like that one little bang, and that was it,” Kuprycz said.
Paramedics performed first aid before Harrison was taken to a local hospital.
The Federal Aviation Administration has begun its investigation at the site, which is expected to be closed for at least one day.
Ford is married to actor Calista Flockhart, 50, and they have a son, Liam.
Last June, Ford broke his leg on the set of the new Star Wars movie at Pinewood Studios outside London.
Filming began in May last year on the new episode of the iconic franchise, directed by blockbuster filmmaker JJ Abrams.