Scuffles broke out between pro and anti-Donald Trump groups as the Republican presumptive presidential nominee held a rally in a city near the Mexican border, along which he has pledged to build a wall if nominated.
Dispersing a protest outside the venue where Trump was speaking, police fired pepper spray. The initially peaceful gathering was deemed illegal when the crowd's behaviour became "unlawful", the San Diego police department said on Twitter.
Waving US and Mexican flags, more than 1,000 people had turned out for anti-Trump rallies in San Diego, a city on the US-Mexico border whose San Ysidro port of entry sees nearly 300,000 people a day cross legally between the countries.
San Diego is considered a binational city by many who live and work on opposite sides of the border, and about a third of the city's population is Latino.