Former Fulham and Everton winger Ademola Lookman crashed home the only goal of the game in the 41st minute as the Super Eagles, chasing a fourth AFCON title, came up against a determined resistance in Abidjan.
Jose Peseiro's side will face the winner of Cape Verde against South Africa, who meet in Yamoussoukro on Saturday, for a place in the final.
Nigeria's star striker Victor Osimhen twice went close in the first half with headers, the first when he got on the end of Moses Simon's cross but could only guide this effort into the goalkeeper's hands, then again when he nodded across goal after meeting Ola Aina's long throw.
What would prove to be the winning goal arrived four minutes before half-time and Simon was the architect.
Alex Iwobi began the move with a sweeping ball from right to left. Nantes winger Simon found space with a well-time run down the wing and, having carried the ball to the byline, looked up and found Lookman. He evaded the attentions of Angola's defence and hit a thumping first-time finish into the roof of the net.
Early in the second half, Calvin Bassey took the ball off the foot of team-mate Osimhen as he sought to execute a close-range overhead kick, the Fulham player nodding over the bar after Angola failed to clear a corner, as Nigeria sought to settle the game.
Minutes later, Angola came within an inch of levelling. Zini sprung Nigeria's offside trip with an expertly timed run from a defence-splitting pass. Bearing down one-on-one against Stanley Nwabali, he opened up his right foot and despatched an effort that rebounded off the inside of the post and away to safety.
Osimhen thought he had made it 2-0 when his header from Bassey's free-kick went in off the post, but the goal was ruled out by VAR for offside, to the relief of Angola goalkeeper Antonio Dominique who had allowed the ball to squeeze through his hands.
The Napoli striker spurned another chance to seal it with 10 minutes to play, racing on to Lookman's ball out from the back and running through on goal. He was denied by a superb last-ditch block from defender Kialonda Gaspar who deflected the ball away.
Additional reporting from PA