SANTA CLARA, Ca. _ They came up with takeaways on five occasions and denied the 49ers points three times after the ball had reached their 15-yard line or deeper.
But the Steelers' defense needed to make at least one more play on Sunday afternoon at Levi's Stadium.
"We just gotta finish games," defensive tackle and defensive captain Cam Heyward lamented after the Steelers fell to the 49ers, 24-20. "Good defenses get the hell off the field and we didn't in the second half.
"I don't even know the down and distance on that last one, third-and-something, and we didn't get off the field. We just gotta finish that damn play. We're right there, games come down to inches and you gotta make those plays."
One of the game-changing plays the Steelers didn't make occurred on third-and-11 from the Steelers' 14-yard line with 2:08 left in regulation. Quarterback Jimmy Garoppolo threw incomplete for wide receiver Dante Pettis in the end zone but inside linebacker Mark Barron was called for defensive holding on tight end George Kittle.
"I was just covering a guy down the seam, ahead of him," Barron said. "He kinda ran into me and I kinda absorbed him and my arms ended up around him. I gotta get my arms off him faster, I guess.
"They called it, so I gotta be better in that situation."
The 49ers ran for 4 yards on first-and-goal from the 9, and then got to the line of scrimmage and snapped the ball quickly.
San Francisco had running back Jeff Wilson Jr., fullback Kyle Juszczyk and Kittle in their personnel group but went with an empty backfield.
Garoppolo found Pettis in between the zone coverage of cornerback Steven Nelson and Barron for what wound up as the game-winning touchdown with 1:20 left in the fourth quarter.
"It was different, they came out of the huddle fast," free safety Minkah Fitzpatrick said. "It's kinda tough when they break out of the huddle fast because you don't get to think. Even if we did see it before, it's tough to just anticipate what they're going to do.
"They were in run personnel, they broke the huddle fast and it's tough. They did a good job."
CRITICAL MISCUES: The Steelers coughed up the ball twice and the 49ers turned both of their turnovers into touchdowns.
The first followed an interception of quarterback Mason Rudolph at the Steelers' 42 early in the third quarter.
The second was a fumble by running back James Conner on first-and-10 from the Steelers' 24 with 5:36 left in the fourth.
"Frustrating," Conner said. "I thought I was down."
Rudolph, who made his NFL debut as a starter, said he did what he could to lift Conner's spirits in the immediate aftermath of what proved to be a fatal giveaway.
"I made plenty of mistakes all day," Rudolph said. "No one's pointing the finger in this offense. We love each other and we're gonna rally together. We still had a chance.
"I said, 'Hey, stay positive. We have another chance to get the ball back and go score and you're-gonna-run-in-the-game-winning-touchdown type of thing. We always think positive and try to play the next play."
POINTS THAT GOT AWAY: The first two turnovers generated by the Steelers' defense, interceptions by outside linebacker T.J. Watt and Fitzpatrick, set the Steelers up for possessions that began at the 49ers' 33 and the San Francisco 24.
The Steelers converted the turnovers into a pair of field goals.
"We could have put more points up on the board earlier in the game," guard David DeCastro said. "It's just a tough way to go all around."
Added Rudolph: "I told Cam, 'That game's on us (the offense). We had so many opportunities with the turnovers in the first half. We gotta put more points on the board for you guys."
WHO THEY THOUGHT HE WAS: Fitzpatrick finished with a forced fumble to go along with his interception and was credited with five tackles (four solo) in his Steelers debut.
"The coaches prepared me really well," he said. "My teammates helped me out a whole lot. They allowed me just to play my game of football. That's what I feel like I did."
Game action photos from the Steelers' Week 3 game against the San Francisco 49ers at Levi's Stadium