Edmonton Airport RCMP say the 35-year-old Calgary man was arrested for causing a disturbance on board the aircraft.
They say he caused some minor damage to the aircraft, and assaulted a female crew member and another passenger.
A passenger on Monday's flight told CBC News the man was drunk, grabbed a bottle of alcohol off a cart and became abusive.
Annelies Bekes, a passenger from Victoria, says it happened in business class. She claims the man was drunk when she got on the plane, and he kept drinking.
Bekes says he was walking down the aisles when the flight attendant told him to take his seat.
She says the man, who claimed to be an oil executive, had to be restrained to his seat with wrist straps and duct tape.
“He started really making a scene and then basically they had to restrain him,” she said. “They put zap straps on his wrist and duct tape around him as well, and he was just yelling and yelling.”
RCMP confirmed the man was subdued by crew and passengers before landing in Edmonton.
Justin Neil Frank has been charged with several Criminal Code and aeronautic offences, including sexual assault, mischief causing a disturbance, consuming alcohol that wasn't served on an aircraft and failure to comply with the instructions of a flight crew member.
He remains in custody and will appear at the Leduc Provincial Court on Thursday.