Playing with a strong wind in the first half Ireland built up a 14-8 lead thanks to three Michael Rainey penalties and Ciaran Potts's second try of the competition.
The Irish pack took control in the second period, kicking and driving into the wind and gaining big yardage with the rolling maul.
The match was decided in Ireland's favour on 35 minutes when Neil Ronan and Glen Telford combined to send full-back Peter O'Brien on a winding run to the line.
Rainey's conversion put them 13 points clear and although Scotland managed another try, Ireland held on for the win.
Ireland go into their last round robin match against Argentina on Saturday, knowing that a win will put them in with a chance of progressing to the semi-finals.