"Upon receiving the results (of the test) SriLankan Airlines took immediate steps to suspend the services of the said captain and took alternative measures to operate the flight to Colombo," the airline said in a statement.
An airline source, speaking on condition of anonymity, said Flight UL554 was held up at Frankfurt airport for more than 15 hours on Friday as staff scrambled to find another captain for the Airbus A330.
The airline said an internal investigation was underway into the incident and it would cooperate with any probe by German authorities.
The cash-strapped airline is due to stop its flights to Frankfurt from October as it slashes routes to European destinations.
It is also planning to lease out some of its A330 planes to other airlines in an attempt to raise cash. Suffering from an accumulated USD 1 billion loss, it is seeking a foreign partner to take over its management.