McInally's try was the difference, but so was the defensive discipline and the nerve of RaboDirect PRO12 debutant Sean Kennedy at scrum-half.
Ulster, who scored through Andrew Trimble, have now failed to win four of their last five games in the league but remain in second place although they could lose ground if Leinster pick up something at home to leaders Glasgow Warriors on Saturday.
Ulster began on the front foot but Edinburgh were first off the mark on 15 minutes when referee Leighton Hodges pulled play back for a high tackle on Piers Francis, the fly-half duly converting the resulting penalty.
The visitors were again asking questions in and around the Edinburgh 22 but failed to break what was proving to be a resolute home defence.
Midway through the half a break from Lee Jones, after Ben Atiga's dummy, saw Francis in space but his flick pass failed to find its destination.
But on the half hour mark Francis made amends by slotting home his second penalty of the night, after Paddy Jackson was adjudged to be offside, from in front of the posts.
The visitors did get on the scoreboard before the half was up though, a soft penalty allowed Jackson to kick from distance and reduce Ulster's half-time arrears to 6-3.
Just three minutes after the restart Jackson had two chances to level the scores, his first - a drop goal - slipped wide of the right-hand post but knowing he had the advantage of a penalty he tried his luck from long range and narrowly missed his target.
He missed his third attempt moments later from out wide, then the Ireland international was off target with another three-pointer as the hosts began to believe their luck was about to change.
He was made to pay on 56 minutes when Edinburgh, who had soaked up relentless pressure, saw McInally barge his way over after good work from No. 8 Netani Talei.
Talei brushed off Paul Marshall and fed a flat pass to the onrushing McInally to extend the hosts' lead to 11-3. Francis missed the conversion.
Ulster responded, and despite being held up on the line shortly after, they eventually broke down Edinburgh on 64 minutes after a neat grubber kick from Jared Payne gave Trimble the chance to touch down in the corner. Jackson was again wayward with his kick and it left the visitors 11-8 adrift.
Edinburgh's Francis came within inches of added a try to his tally, but on 75 minutes he slotted home his third penalty of the evening to give his side breathing space.
|Edinburgh Rugby Score Card|
|Ulster Rugby Score Card|