A passenger train struck the end of a piece of rail left on a track following engineering work, the Rail Accident Investigation Branch (RAIB) has said.
The Virgin Trains East Coast train, which had left Inverness bound for London, knocked the 130m (425ft) long rail clear.
The train did not derail and was not damaged in the incident on 25 February at Cradlehall, near Inverness.
Urgent safety advice has been issued by the RAIB to Network Rail.
ScotRail Alliance, which Network Rail Scotland is part of, said it carried out a full investigation after the incident and had taken "immediate steps to highlight the seriousness to all our employees".
The RAIB said there were three similar incidents in England between 2014 and 2017.
It said due to the serious nature of the most recent incident in the Highlands, Network Rail should take urgent steps to address the risks, and implement any other measures required.
In a report, the RAIB said: "Network Rail has company standards that require that, on completion of engineering work, a nominated competent authorised person must undertake an inspection of the track to confirm that it is safe for trains to travel over at the authorised speed.
"It is not yet clear why this requirement was not effective on this occasion."
The train was travelling at 53mph when it struck the piece of rail at about 09:50.
It was the first train to pass over the route following the earlier engineering work.
Alex Hynes, ScotRail Alliance managing director, said staff involved directly in the incident were currently not working in front line roles.
He added: "We have emphasised to our track maintenance teams the importance of thoroughly inspecting all completed work before any trains are allowed to run and are reviewing how we manage this type of maintenance work.
"The safety of our customers should never be put at risk. We are learning from this incident and putting additional measures in place to prevent a similar incident occurring in Scotland in the future."