Referee Gavin Ward awarded three spot-kicks in the match in total, two of which were converted and one which Sam Johnstone saved.
He also sent off Albion boss Slaven Bilic late in the game for complaining about his decisions a tempers flared.
For the fourth time this season, the Baggies had to come from behind to keep their unbeaten start intact, but it was a frustratingly familiar story for Bilic's men in front of goal.
Albion huffed and puffed but once again looked too cute in the final third. It wasn't until Matheus Pereira came on for the last 20 minutes, did they really threaten, and the Brazilian winger is surely pushing for a start soon.
Because, after falling behind to Martyn Waghorn's sixth-minute penalty, the Baggies struggled to test Kelle Roos in the Derby goal regularly.
Bilic made three changes to the team that drew with Reading, returning to the same line-up that won Albion's first two away games of the season.
Zohore, Nathan Ferguson and Kyle Edwards were all restored to the line-up while Charlie Austin, Darnell Furlong and Grady Diangana dropped to the bench.
Philip Cocu handed full league debuts to two 18-year-old's, left-back Lee Buchanan and midfielder Jason Knight.
Pride Park was rocking for a 12.30pm kick-off, and the home side started brightly, with Tom Lawrence's early shot being blocked by Kyle Bartley.
Kieran Gibbs endured a torrid start to the game, heading a long ball out for an uneccesary corner before letting the ball run out of play.
But six minutes in it became a nightmare start when he went to ground and tripped Martyn Waghorn in the box.
Waghorn, who was playing on the wing to accomodate Jack Marriott, was allowed to drive into the box off the flank before Gibbs dived in with a clumsy challenge.
The Derby No.9 got up and dusted himself down before sending Sam Johnstone the wrong way, as the Baggies conceded first for the fourth time this season.
In May, it took Waghorn 19 minutes to give Derby the lead in this fixture. This time, it took just six.
Derby were setting the tempo, and looked dangerous whenever they came forward, with Marriott finding the side netting soon after.
Ferguson did test Roos 12 minutes in with a fantastic driving run from right-back that ended in a shot the Derby keeper kicked clear.
But Gibbs's afternoon was about to get even worse. Shortly after that he signalled to Bilic that he was unable to carry on, and 20 minutes in he was replaced by Furlong.
Everton loanee Kieran Dowell was having a composed game in the middle for Derby, but Filip Krovinovic was trying to make things happen for Albion.
He slipped Kyle Edwards in before the winger was crowded out in the box and also found Matt Phillips in space before the chance went begging.
The Baggies were struggling to get in behind. Their passing was too slow and ponderous, and all in front of Derby.
Ten minutes before the break, Phillips did manage to spon his man and was subsequently found by a Sawyers chip, but once again he was crowded out.
But just before half-time Derby were awarded another penalty, and this time, in highly controversial circumstances.
When Krovinovic controlled the ball with his shoulder in the box, no Derby players appealed for handball, but the crowd did, and with those calls ringing in his ears, the linesman decided to flag for a penalty.
Albion were incensed and so was Bilic, who received a yellow card for complaining, but justice was done, because this time Johnstone guessed correctly and got a strong palm to Waghorn's low effort.
There was still time before the break for Sawyers to slip Zohore in behind for Albion's best chance of the half, but the big striker's shot was saved by Kelle Roos. Sawyers slapped the ground in frustration.
Bilic made the same change at half-time as he did at Kenilworth Road, replacing Edwards with Grady Diangana.
Furlong and Ferguson also swapped flanks at the break in an effort to provide more balance.
Max Lowe whistled a low drive past Johnstone's far post, before Krovinovic shot over up the other end.
The game was starting to get stretched, as Krovinovic gambled on Zohore's flick-ons without much success.
The Croatian playmaker then sent a free-kick over the bar after Phillips's pull-back to Zohore was crowded out. Despite getting into good areas, the Baggies were still struggling to threaten.
And then, shortly after the hour mark, Albion were given a huge let-off when Marriott's shot was well saved by Johnstone before Tom Lawrence fluffed his lines.
Johnstone saved a volley from Waghorn shortly after before Diangana finally drew Roos into a save low down to his left, trying to repeat his long-range trick from Luton.
Krovinovic curled a couple of shots over the bar from range, before Bilic sent on Pereira rather than Austin for his final change of the afternoon.
That decision looked questionable with the Baggies in need of goals, but the Brazilian winger immediately made an impact with his crisp passing and ball-carrying skills.
And five minutes from time the winger won a penalty on the byline, going down softly under a challenge from Max Lowe.
Just like Wednesday, Zohore stood up to take the spot kick, and just like Wednesday, he sent the keeper the wrong way to level the game up.
Albion still wanted to win it, and they grabbed the ball from the back of the net.
Moments after, Diangana breezed past Richard Keogh on the byline before pulling the ball back to Jake Livermore, but it was slightly behind him, and his shot from close range was deflected over the bar.
A goalkick was given, which infuriated Slaven Bilic, and the Baggies boss was shown a second yellow by Gavin Ward and told to leave the dugout.
Despite a few nervy moments, it finished 1-1, keeping Albion's unbeaten record intact.
But their problems in front of goal showed little signs of improving on another frustrating day.
06 - PENALTY DERBY - Gibbs brings Waghorn down in the box and the Derby man converts his spot-kick to give the hosts the lead.
12 Ferguson tests Roos with a shot after a driving run from full-back.
20 Gibbs is forced off through injury to be replaced by Furlong.
42 PENALTY SAVED - Derby are given a dubious penalty but justice is done when Johnstone saves Waghorn's spot kick.
63 Johnstone saves Marriott's shot from close range.
67 Roos pushes Diangana's long-range effort away from goal.
85 PENALTY ALBION - Zohore converts from the spot after Lowe brings Pereira down.
86 Livermore nearly makes it two after fantastic work from Diangana on the byline
88 RED CARD - Bilic is shown a second yellow and told to leave the dugout.
Albion man of the match
Romaine Sawyers - Back to his best with some beautiful forward passing.
Derby County (4-3-3): Roos; Lowe, Keogh (c), Bielik, Buchanan; Huddlestone, Knight (Paterson 90), Dowell; Lawrence, Marriott (Bennett 77), Waghorn (Evans 82).
Unused subs: Hamer, Shinnie, Clarke, Malone.
Albion (4-2-3-1): Johnstone; Ferguson, Ajayi, Bartley, Gibbs (Furlong 20); Sawyers, Livermore (c); Phillips (Pereira 71), Krovinovic, Edwards (Diangana 45); Zohore.
Unused subs: Bond, Brunt, Austin, O'Shea.
Referee: Gavin Ward