David Healy’s men ran out 2-0 win at Windsor Park in the end, but they were made to work all the way.
It was a fairly uneventful first half at Windsor Park with neither side really threatening.
The second half continued in a similar vein with the Blues frustrated in their attempts to break down the visitors.
But with 10 minutes to go Shields converted from the spot after Kyle Cherry was adjudged to have handled in the box.
And in the 90th minute Millar fired home from Matthew Clarke’s cross to moved the hosts up to second in the table.
Ballymena United moved into seventh in the table after a 2-1 win at Warrenpoint Town.
The Sky Blues edged in front in the 20th minute at Milltown as Kenny Kane headed home Andy McGrory’s corner.
The hosts drew level 11 minutes before the break though as Luke Wade-Slater bagged his third goal in two games heading in Thomas Maguire’s cross.
David Jeffrey’s men restored their lead before half time as Paul McElroy followed up his goal on Saturday with another composed finish to seal the win.
At Stangmore Park Glenavon picked up all three points thanks to a 2-0 win over Dungannon Swifts.
Andy Waterworth put the visitors in front at the start of the second half.
Peter Campbell made the win safe with a neat finish late in the second half .