Police constable Russell Davidson, 45, attended the scene of the crash that claimed the life of 17-year-old Natasha Paton.
Natasha, from Cleghorn village near Lanark, died after the bus collided with a bridge on the A73 near Biggar and tumbled down an embankment.
Raymond Munro, 63, was at the wheel of the coach taking 39 pupils and staff from Lanark Grammar School to Alton Towers theme park in March 2010.
An inquiry at Lanark Sheriff Court heard Mr Davidson, a traffic officer with Strathclyde Police, saw Natasha's right leg sticking out from under the vehicle.
He said: "It became apparent after a period of time that there was one person unaccounted for. I was standing on the bridge and I could see a fire officer in the water tethered to another member of the fire service.
"He signalled me to come down and, within the river, I could see a person's right leg and foot protruding from underneath the bus. I signalled there was someone in the water."
Mr Davidson told how a police colleague and a firefighter entered the water to free Natasha's body.
He added: "They brought her over to our side of the riverbank and we pulled her out of the river. I alerted ambulance personnel and we carried the person up to the road.
"My opinion was there was something keeping the body underneath the coach.
"Had the body been free of any obstruction it would have been swept down the river. However, it appeared it was stuck there by something."
Mr Davidson said he thought he had spotted Natasha at around 6.30am as visibility improved at the scene.
It was suggested by David Wilson, the Paton family lawyer, that Natasha had been found at around 7am, more than one hour after the accident.
Mr Davidson said Natasha had shown no signs of life after being pulled from the crash.
The inquiry also heard from police constable Mark Grant, 36, the first officer on the scene.
He told how he had twice searched the bus but had not seen anyone in it.
He added: "I checked between the seats and I checked in the toilet. I put my hand into the water and made sure there was nothing in the water.
"One of the fire officers joined me and we went back through the bus on a second occasion. After I came out of the bus on a second occasion, I shone my torch down both sides of the bus and made my way back up to the road.
"I asked the teachers several times if they knew how many people were on the bus and if they had accounted for everybody. They weren't able to do that because everyone was moving about."
The inquiry before Sheriff Nikola Stewart continues.