It happened on Skeldergate, near to the Queens Hotel, at around 12.10am this morning (Sunday July 29) and police say the 47-year-old victim has serious injuries but are not thought to be life threatening.
The suspect, aged 44, was arrested and detained at the scene by members of the York Rescue Boat before officers took him into custody for questioning.
A spokesperson for North Yorkshire Police said this morning that a police cordon was put in place at the scene while forensic and other police enquiries were carried out and the weapon used in the incident, a sharp implement rather than a knife, has been recovered as part of the ongoing investigation.
They added that early enquiries indicate the two men were known to each other but "officers are keeping an open mind".
Witnesses or anyone with information that could assist the investigation should call North Yorkshire Police on 101, select option 2, and ask for the York Serious Crime Team or contact Crimestoppers anonymously on 0800 555111. Quote reference number 12180138640.