After the morning assault in the town of Macerata, the suspect got out of his car, allegedly made a fascist salute with a tricolour Italian flag draped over his shoulders and shouted "Viva Italia", or "Long Live Italy", and "Italy for Italians," media reports said.
The wounded included five men and one woman from Ghana, Mali and Nigeria, the Agi news agency said. It came a day after a Nigerian man was arrested in the town over the gruesome murder of a teenage Italian girl.
Interior Minister Marco Minniti said the attack was part of a culture "of right-wing extremism with clear reference to fascism and Nazism" and deplored that the sole link between the victims was "the colour of their skin". He said the "criminal act" was "prepared in advance".
The man allegedly opened fire in eight areas in the town and also targeted the office of the centre-left Democratic Party in a two-hour terror spree in the sleepy town of 43,000 people, press reports said.
"Six people were injured and all of them are foreigners," said town mayor Romano Carancini. Police confirmed in a tweet that "the wounded persons were of foreign nationality", adding that the "presumed author of the attack is Italian".
One victim was seriously injured in the thorax, press reports said. The other five had lesser injuries. A Nigerian man who was shot in the thigh while buying cigarettes on the street, telling a television channel from his hospital bed that he was in great pain, adding: "It's very serious."
Television footage showed the suspect being arrested at the town's war memorial. Police also posted a photo of the capture.
Authorities identified the suspected shooter as Luca Traini, 28. He is a member of the far-right anti-immigration Northern League party and had run in local elections last year. Media reports said police found a gun in the man's vehicle, a black Alfa Romeo.
"Someone who shoots is a delinquent, irrespective of the colour of his skin," said Northern league chief Matteo Salvini, in full campaign mode ahead of legislative elections on March 4.
"I'm in a hurry to be in government to bring back security, social justice and serenity to Italy," he said.
Italian Prime Minister Paolo Gentiloni meanwhile made a pitch for unity, saying: "Hate and violence will not divide us."
The attack comes a day after a Nigerian asylum-seeker and drug dealer was arrested in Macerata over the gruesome killing of an 18-year-old Italian woman whose dismembered body was discovered in suitcases earlier this week. Police found the clothes of the victim, Pamela Mastropietro, in the house of the 29-year-old Nigerian as well as a bloodstained knife.
However, no official link has been made between the two incidents.
Italians head to the polls in national elections next month, with immigration shaping up to be a key issue. The country is a favoured landing point on Europe's southern coastline for migrants making the perilous journey across the Mediterranean, often aboard unseaworthy boats, to enter the continent.
But 2017 was a turning point for Italy: the country went from large-scale arrivals in the first six months to a sharp drop-off, thanks to controversial agreement between the EU and Libya.
Some 119,000 people landed in Italy last year, down 35 percent on 2016.
The Northern League is part of a populist coalition tipped to do well in the elections. According to opinion polls, the alliance between ex-prime minister Silvio Berlusconi's centre-right Forza Italia (Go Italy), the post-fascist Fratelli d'Italia (Italian Brothers) and the Northern League leads with more than 35 percent ahead of the March 4 vote.