Danville (30-6) plays Somerset at 7 p.m. today for the regional title. The Briar Jumpers (24-11) beat Lincoln County 6-3 in Tuesday's first semifinal.
Perkins gave up nine runs on six hits over three innings with three walks and hit two. The Admirals avoided having to face Rockets' ace Colby Brown, a Kentucky recruit, who pitched against East Jessamine on Monday.
Johnny Raines, who scored twice in the fourth inning, led off with a single. He stole second on a pickoff attempt and came around to score when Derrick Pollard's bunt was misplayed. The first four batters reached base, and after Deangleo Durham's RBI single scored Pollard, Perkins was replaced by Dakota Smith.
"We expected a lot closer game," said Durham, who was 2-for-3 with three RBIs and three runs.
"He threw against us the first time and held us to five runs, so we knew we had to come out a lot better than last time to get the win."
Smith didn't fare much better for Rockcastle (21-11). He proceeded to hit Nate Uslin to load the bases and give up seven more runs. Eight batters reached base before Lance White made the first out of the inning.
Jacob Bryant had a two-run single, Matt Grimes drew an RBI walk, Rich Witten was hit by a pitch for the second time to allow a run to score, and Uslin and C.J. Lynn each had RBI singles in the fourth.
This was Danville's second straight run-rule game as the Ads beat Wayne County 13-3 in six innings Monday, and Morse likes getting up big early.
"It doesn't matter if they're freshman or seniors, if you can get on a team early in the game and put some pressure on them and make them play from behind, the stress level is a lot easier on you," he said.
All of that offense was more than enough for Witten, who struck out the side in the first inning and finished with 10 strikeouts and just two hits to improve to 13-0.
The only mistake Witten made was allowing a solo home run to Jared Brown to lead off the second.
Raines doubled to lead off the game for Danville. He then stole third and scored when catcher Izak McQueary's throw got by Jacob Riddle.
Witten was hit by Perkins on the first pitch, stole second and scored on Durham's single to give the Admirals the early lead.
Uslin put the Admirals up 5-0 when he smacked a triple to right field, scoring Pollard, Witten and Durham, who was intentionally walked to load the bases.
Uslin finished 2-for-3 with 4 RBIs, Raines had two hits and scored three runs, Pollard scored three times, Lynn scored twice and Witten went 1-for-1 with an RBI and four runs.
Tanner Perkins, Dakota Smith (4) and Izak McQueary. Rich Witten and C.J. Lynn. W-Witten (13-0). L-Perkins. 2B-Johnny Raines (D). 3B-Nate Uslin (D). HR-Jared Brown (RC).
Rockcastle01000-1-2-5Danville32011x-16-9-1