Mediauppspelning stöds inte på den här enheten
Donnelly dök upp vid bakre inlägget för att nät ett nedåt rubrik från Martin Donnellys kors i 33: e minuten.
De röda stannar åtta poäng bakom sina norra Belfast rivaler på toppen tack vare deras nionde raka seger över Ronnie McFalls sida.
Hamnarna har nu förlorat sina sista sex premiärutflykter och förblir åttonde.
Ronnie McFalls sida har misslyckats med att göra mål i vart och ett av sina nio nederlag i händerna på de röda.
Tidigt i spelet, Philip Lowry hade en tydlig syn på mål, men hans svaga skott var lätt samlades av hem målvakt Conor Devlin.
I andra änden, David Miskelly gjorde fina räddningar från Chris Curran och en Jay Donnelly huvud.
Donnellys strejk visade sig vara vinnaren, även om båda sidor hade chanser efter intervallet.
Lowrys svaga rubrik räddades av Devlin, medan Martin Donnelly sköt tamt mot Miskelly, som också förnekade Currans locktång.
Cliftonville manager Gerard Lyttle: "Syftet var att få en vinst och hålla en ren ark och vi uppnådde båda. Vi kontrollerade det mesta av spelet och jag är nöjd med de tre punkterna.
"Du är alltid försiktig med en 1-0 ledning och jag var besviken över att vi förbi ett par andra hälften chanser, men jag skulle ta det resultatet för resten av säsongen, inga problem."
Portadown biträdande chef Kieran Harding: "Jag tyckte att vi var enastående idag och olyckligt nog att inte få en dragning. Defensivt hade vi en bra form om oss och skapade några tydliga chanser på pausen som vi skulle ha tagit på en annan dag. "
Jay Donnelly gjorde det enda målet när Cliftonville förlängde sin oslagbara ligan köra till sex matcher och höll upp sin jakt på ledare Crusaders.