Two late goals from the All Ireland champions in injury-time gave them a nine point cushion.
But neutrals would suggest there was never as much between the two sides.
Dublin went in ahead at half-time 0-9 to 0-5 and looked comfortable.
But Donegal fought back well in the second half and drew level 0-11 to 0-11.
Dublin goalkeeper Stephen Cluxton kicked a free to put Dublin ahead again and they stretched further thereafter.
Michael Murphy was withdrawn with an ankle problem and it appeared that Donegal lost any attacking danger they had.
Donegal lost a lot of possession from kick-outs and midfield continues to be a problem.
Paul Durkan may have been chosen for man-of-the-match with a series of fine saves.
It ended 2-16 to 0-13 but the late goals Diarmuid Connolly and Brian Cullen put a bit of a gloss on it for the men form the capital.
McGuinness can have no complaints and a lot depends on Donegal’s last game against Armagh to see if they remain in Division One.