NC State's Carlos Rodon started on three days' rest after throwing 108 pitches in an 8-1 win over Carolina. He gave up two runs on four hits in his five innings.
Carolina must beat UCLA twice first on Friday and again Saturday to reach the finals. North Carolina State (50-16), in the CWS for the first time since 1968, was shut out for the first time this season.
Atlantic Coast Conference player of the year Colin Moran had three singles, reached base four times and drove in two runs for Carolina.
Johnson (5-1), a 14th-round draft pick of the Milwaukee Brewers, bounced back from a dismal start in the super regionals against South Carolina. He lasted just 12⁄3 innings and gave up five runs in an 8-0 loss that day.
But he had turned in a strong start the last time he faced the Wolfpack, and he did again Thursday in the fifth meeting of the teams this season.
He relied on a fastball that reached the low 90s to keep the Wolfpack in check. He got an assist from a 22-mph wind blowing in at a ballpark that has surrendered only two home runs through 10 CWS games.
Rodon (10-2), projected as the possible No. 1 pick in next year's draft, was a surprise starter for the Wolfpack.
NC State coach Elliott Avent originally planned to go with Brad Stone.
Rodon was scheduled to throw an extended bullpen session Thursday, but Avent and pitching coach Tom Holliday scrapped it and decided to go with Rodon and give him a 75-pitch count that stretched to 80.
Rodon, who held the Tar Heels hitless into the fifth inning on Sunday, had his fastball humming in the mid-90s but wasn't nearly as dominating as he was Sunday.
College World Series
North Carolina 7, N.C. State 0
N.C. State eliminated
• Mississippi State vs. Oregon State, 1 p.m., ESPN
• UCLA vs. North Carolina, 6 p.m., ESPN