Witnesses said the attacker “blindly stabbed” people at the complex in the southern town of Stalowa Wola.
A 27-year-old local man was reportedly tackled by a shopper and pinned down until the emergency services arrived.
Bystanders rushed to help the six seriously injured and used tissues to stem one victim’s bleeding.
Police spokeswoman Anna Klee said: “He was attacking people from behind, hitting them with the knife.”
Police tweeted: “The man, a resident of Stalowa Wola, was easily stopped. He did not explain the motives of his irrational behaviour.”
Officers said the man had not been drinking.