Myatt Hancock said he was stopped in a turn lane at the intersection of Highway 90 and Promenade when a white BMW slammed into one of the cars in front of him.
"A guy gets out and starts hassling a woman in a car," Hancock said.
A photo Hancock snapped appears to show the suspect grabbing onto one of the vehicle's door handles.
After being rebuffed, Hancock said the suspect began walking over to him.
He said he had gotten out of his car to check for damage, fearing it might have been hit by the suspect's vehicle.
"He said, 'I'm taking your car.' And I said, 'No, you're not,'" Hancock said.
Hancock said a struggle ensued and he was thrown to the ground while the suspect got into his car.
While the suspect tried to start the vehicle, Hancock said he called police.
"It was frustrating because the call immediately transferred inside my car because it's linked inside my car, so 911 is talking to would be him inside the car," he said.
Unable to start the car, the suspect eventually gave up and walked over to a Frost bank.
There, a woman told Eyewitness News he got into the driver's seat of her running vehicle while her 10-year-old son was inside.
The child managed to escape and alert his mom, who said she ran outside and yanked the suspect from her car.
Police said he then went to the McDonald's drive-thru next door and after failing to get into a customer's pick up truck, got into the truck bed.
Jeremane Middleton, 40, was arrested at the McDonald's and remained in the Fort Bend County Jail Tuesday.
Houston police say the BMW he crashed was stolen minutes prior from a bank parking lot in southwest Houston.
The owner said he'd gone into the bank when the suspect got into his car and ordered his two passengers out.
Records show Middleton has 13 previous convictions in Texas, most of which are in Wharton County.
In June, he pleaded guilty to a theft charge in Fort Bend County and to attempting to tamper with evidence in Harris County.