Anti-Olympics protesters clashed with police in downtown Vancouver on Friday night as the marchers tried to approach BC Place, where opening ceremonies for the 2010 Games were underway.
Some protesters sprayed vinegar in officers' eyes, threw sticks, and spit on officers, police said.
Two officers were injured with flying objects and one was sent to hospital with a shoulder injury but was treated and released, said Const. Lindsey Houghton.
The 125 officers assembled in two rows, along with six police officials on horseback and managed to hold back the crowd, estimated at 1,500.
No protesters were injured.
One man was taken into custody and is facing a charge of assault, Houghton said.
Protesters got as far as the corner of Robson and Beatty streets before being stopped at the police lines, about 200 metres from BC Place stadium.
The protesters rallied outside the Vancouver Art Gallery at 3 p.m. before starting their seven-block walk to the stadium. They marched along West Georgia Street to Homer Street, where they turned south then east on Robson toward BC Place, where the ceremonies began at 6 p.m. local time.
Placards carried by the demonstrators suggested many disagreed with spending taxpayer money on the Games instead of targeting social problems.
Organizers said they wanted the protest to remain peaceful.
About 200 protesters forced organizers to reroute the Olympic torch relay twice early Friday as the runners made their way through the Downtown Eastside.