Troopers with Washington State Patrol and a passenger on the Walla Walla Ferry say the man was making verbal threats and then became combative around the galley.
Passenger Joel Saffel was on the ferry when the trouble started.
"The guy freaked out halfway through the boat ride, pulled a knife and people are screaming, running toward the front," Saffel said.
The Walla Walla came from Bremerton and docked in Seattle while Seattle police officers went aboard to capture the man.
Troopers say the 44-year old man bit an officer during the arrest. That officer was treated in an ambulance and then taken to a local hospital.
The suspect was eventually taken into custody, but was forced into a "spit bag" to prevent any other attacks. He was then taken to Harborview Medical Center in stable condition, according to Kyle Moore with the Seattle Fire Department.
Other ferry traffic was rerouted to the other side of the Seattle ferry dock.