It began when a student got into a fight on his way from the Elwyn School.
The bus driver pulled over on Township Line Road to break it up, police said, while an aide left to call 911.
That's when the 15-year-old allegedly got behind the wheel.
"I can't believe it. But thank God, thank God that 15-year-old didn't get rolling on Township Line at 3:15 in the afternoon or there could have been tragic consequences," said Upper Darby Police Superintendent Michael Chitwood.
The only injury was to the other student involved in the fight.
The 15-year-old was being held by police.