MEXICO CITY – Mexican officials Saturday blamed turf wars between some of the country's most brutal drug cartels for a wave of violence across the nation that killed more than 40 people in three attacks, including 21 people massacred in a nightclub in the northern business capital of Monterrey.

The bloodiest attack took place Friday night at the gritty Sabino Gordo bar, when gunmen with assault rifles shot down patrons and workers in Monterrey, a business center that has become a battleground between the Zetas drug gang and...