PONTIAC, Mich. -- Barry Foster scored the game's only touchdown and Gary Anderson kicked three field goals as Pittsburgh ended a two-game exhibition losing streak.
The Steelers (2-2) intercepted four passes and recovered two fumbles against the Lions (2-3), who lost their third straight.
Foster scored from 3 yards out in the second quarter and Anderson kicked field goals of 51, 36 and 40 yards. Eddie Murray's 44-yard field goal accounted for all Detroit's points.
The Lions played without quarterback Rodney Peete, running back Barry Sanders and linebacker Chris Spielman, all of whom were injured. The Steelers were without cornerback Rod Woodson, who ended his holdout Thursday.
Bubby Brister started at quarterback for the Steelers and played through Pittsburgh's first two possessions of the third quarter before Neil O'Donnell took over. Brister completed 11 of 16 attempts for 139 yards with one interception. O'Donnell was 4 of 7 for 25.
Erik Kramer, who spent last season on the injured reserve list, made his first NFL start for the Lions. He completed 9 of 20 for 139 yards and was intercepted three times. Andre Ware was 5-for-14 for 41 yards with one interception in the second half.
The Lions' first three possessions ended in interceptions.
After an interception by Hardy Nickerson, the Steelers went 60 yards in eight plays, Foster carrying Detroit's George Jamison over the goal line for the touchdown with 4:01 left in the second quarter. It was Pittsburgh's first TD with Brister on the field this year.
On the next series, Kramer guided the Lions to the Steelers' 11-yard line, but his first-down pass for Mike Farr was picked off by David Johnson in the end zone.
Ray Crockett's interception set up Murray's 44-yard field goal, but Anderson kicked a 51-yarder with 46 seconds left in the half.
Garry Howe sacked Ware, caused a fumble, then recovered it for the Steelers in the third quarter. Four plays and nine yards later, Anderson kicked his 36-yarder. His last field goal came with 4:23 remaining.
The Lions open the NFL's regular season at Washington. The Steelers play host to San Diego on Sept. 1.