The incident happened around 2.20am on Thursday October 13 at Young Place in the Plantation area of the town.
A 26-year-old man was taken to hospital for treatment following the incident.
The two men, aged 41 and 20, have been arrested and charged in connection with the incident. Both are due to appear at Fort William Sheriff Court at a later date.
Detective Inspector Andy Bilton said: 'We are very grateful for the support and co-operation of the local community with our investigation into this incident.'
Yes! I would like to be sent emails from West Coast Today
I understand that my personal information will not be shared with any third parties, and will only be used to provide me with useful targeted articles as indicated.
I'm also aware that I can un-subscribe at any point either from each email notification or on My Account screen.