A war-like battle broke out between cops and suspected cartel gunmen, leaving 21 dead, including four officers, in a small Mexican town that was left riddled with bullet holes.

The shootout erupted around mid-day on Saturday in Villa Union, a town of about 3000 residents, near the US border, and just days after President Donald Trump raised bilateral tensions by saying he would designate the gangs as terrorists.

The government of the northern state of Coahuila said state police confronted a group of heavily armed gunmen riding in pickup trucks through the town which is less than 50 miles from the US border. San Antonio, Texas, to the northeast, is about 3 1/2 hours away.