An Indian Canadian Punjabi man was arrested for assaulting an Air Canada flight attendant on the Delhi-bound flight from Toronto on Wednesday, police said.
The flight returned to Toronto's Pearson International Airport after the incident. The flight was rescheduled to take off later.
Police arrested 47-year-old Jaskaran Sidhu for the assault.
Sidhu, who lives in Alberta, has been charged with assault and causing bodily harm.
The plane had to turn around about two and a half hours into the flight due to an "incident involving a disruptive passenger," a spokesman said.
"On Wednesday, December 30, 2015 at approximately 12.42 a.m., a flight that had departed for New Delhi, had to be diverted back to Pearson International Airport due to a passenger's assaultive and belligerent behaviour towards a flight attendant," police said in a statement.
"The plane landed without incident and a male on board was arrested and charged in relation to the occurrence. The victim sustained injuries that required medical attention."
"Sidhu has been charged with two counts of mischief, assault causing bodily harm, and endangering safety of the aircraft. He is being held pending a bail hearing," police said.
The flight had taken off late because of the bad weather in Toronto after the season's first snowfall.
Peel Regional Police said a man had allegedly assaulted the flight attendant around 12:42 a.m. when the flight was over the Atlantic Ocean, just off the East Coast.
They say the 47-year-old was "belligerent" at the time, but was arrested without incident when the plane landed at Toronto Pearson International Airport.
Jaskaran Sidhu was charged with assault causing bodily harm, endangering the safety of an aircraft and two counts of mischief.
He was set to appear in a Brampton, Ont., court on Wednesday.
Air Canada introduced the non-stop Toronto-Delhi flights from November 1. The four-times-a-week flight from both sides takes over 13 hours to reach its destination.