The man is accused of stealing a bottle of apple whiskey from the LCBO and a pack of cigarettes from a variety store yesterday afternoon.
He was located by an officer on patrol, but while being placed under arrest, authorities say the suspect punched the officer in the face, breaking his glasses and cutting his cheek.
The officer was treated in hospital and released.
The 26-year-old accused is now facing several charges, including two counts of theft and possession of stolen property, and assaulting a peace officer.