A disgruntled Home Depot worker fatally shot a supervisor before killing himself in a crowded Chelsea store Sunday afternoon, sending droves of shoppers — who were stocking up for the impending snowstorm — fleeing in terror, police and witnesses said.

Gunman Calvin Esdaile, 31, of Brooklyn snapped in the store’s lighting department around 2:40 p.m.

“I heard some shots towards the back of the store. It sounded like four or five,” said an employee at the store on West 23rd Street between Fifth and Sixth avenues.

“I heard someone yell, ‘Oh, my God, he’s dead!’ Everyone was running and screaming and ducking.’’

Esdaile had been arguing with the manager, 38, in Aisle 12 just before about five shots rang out, witnesses said.

“F–k you!’’ a witness said she heard one of the men shout before the shooting.

“It was crazy,” said shopper Susan Lowry. “Some people jumped on the floor, others hid behind aisles or ran for the exits.”

A Bronx resident shopping for brackets said he watched as the gunman shot himself in the head after gunning down the manager.

“I saw people running, and I should have run with them,’’ the man said.

“But I looked into the next aisle. I felt that I had nothing to fear because the shooter had just shot himself in the head.”

The manager was pronounced dead a short time later at Bellevue Hospital. Cops said he was shot three times, including at least once in the chest.

Esdaile, who at least one former co-worker said may have recently been fired, was pronounced dead at the scene, where cops recovered a .38-caliber revolver.

A store employee said the manager had just returned from a vacation trip to France, where he was visiting his wife and child.

The shooter’s father, who lives in Queens, said he had no insight into his son’s motive.

“I don’t know what to say,” said Calvin Esdaile Sr. “I feel bad for the other family. My heart goes out to them. I don’t know why he went there and why he did this.”

A former co-worker, Alex Pereira, 32, said, “I thought it was a joke at first when I heard the news. These were two dear friends of mine.

“[The manager] was cool, he was very likeable. He was such a funny guy. He never had any problems with anybody. I can’t see him starting any confrontations.

“The thing about Calvin is that I never thought he was capable of this. We are both from the Caribbean islands. He was working there since 2011.

“I heard that Calvin had gotten fired a few days ago. But I didn’t think it would come to this. All this over a job? I can’t believe it.”

Additional reporting by Kevin Sheehan and Dana Sauchelli