The win was Alabama's fifth in a row and sixth in its last seven games.
Woodward worked 6 2/3 innings and limited the Panthers to just one run and five hits. He added a career-high eight strikeouts and did not walk a batter. He left with two runners on base and two outs in the seventh inning after throwing 102 pitches.
Senior right-hander Shane Sanders stranded those two runners in scoring position to end the seventh by striking out Michael Cline.
Birmingham Southern (13-7) put two runners on base with two outs to chase Woodward. Michael Wynder reached on shortstop Adam Pavkovich's two-out error and No. 9 hitter Matt Bouge followed with a double into right-center field.
Sanders for the strikeout, leaving the tying runs on base. The UA bullpen has stranded eight of its last nine inherited runners.
Junior right-hander Brian Reed pitched the final two innings for his league-leading fifth save of the season. After a perfect eighth inning, Reed allowed his first earned run of the year in the ninth as he walked John Driskill and allowed a two-out double by pinch-hittter Mac Godwin.
"After a shaky start in the first inning, I thought Woodward pitched very well tonight," Alabama coach Jim Wells said. "Sanders came in and got a big out and while he has not gotten a lot of work lately Reed was able to pitch two innings at the end."
The Crimson Tide (16-2) snapped a 1-1 tie in the sixth inning to take a 3-1 lead despite only one hit off losing pitcher Jon Renfro (3-1). Peter Stonard got the only hit in the inning with a single to right field. Jeremy Brown followed with a walk, putting runners at first and second. Beau Hearod's sacrifice bunt moved both runners into scoring position.
After Brent Boyd was intentionally walked, Scott McClanahan reached on a fielder's choice and Stonard scored from third base when he beat Connor Robertson's throw home.
Renfro lasted 5 1/3 innings and allowed three runs on five hits. He added three walks and did not record a strikeout.
John Crowe struck out Zac Welch for the second out, but unleashed a wild pitch that scored Brown from third. Pavkovich walked and Travis Garner popped out to short to end the inning.
"We managed to score enough runs to win the game," Wells added. "We needed a bit hit in that inning to maybe take a four or five run lead, but didn't get it. We had a lot of missed opportunities. We definitely needed a big hit there."
Birmingham Southern took a 1-0 lead in the first inning as Cline led off with a single and scored on Cory Hamrick's double. Hamrick's double was taken off the board as he called out on an appeal play for missing first base. Adam Pease followed with a base hit, but was stranded in scoring position.
Alabama tied the game in the third inning on Carlos Sosa's single up the middle, scoring Pavkovich from second base. Pavkovich opened the inning with an infield single and moved into scoring position on Garner's sacrifice bunt. Sosa followed with the base hit up the middle.
The Crimson Tide added an insurance run in the eighth inning as McClanahan doubled down the left field line and scored on Welch's single to center.
The win was Alabama's 18th in a row at home, dating back to last year.
Stonard was the only player on either team with more than one hit, collecting two singles in four at-bats. Brown's hitting streak was snapped at seven games, but he did score a run for the eighth straight game.
Robertson, a native of Tuscaloosa and graduate of Central High School, was hitless in four at-bats to snap his 32-game hitting streak dating back to last year. He had hit safely in all 19 games this year.
Alabama returns to action this weekend as they open Southeastern Conference play with the Tennessee Volunteers at Sewell-Thomas Stadium. The three-game set begins Friday at 6:30 p.m. and continues Saturday (3 p.m.) and Sunday (2 p.m.). The Saturday start time was originally set for 4 p.m., but has been moved up one hour.