Donegal's good record at Fr Tierney Park got them back on track in Division 1 of the Allianz Football League as they overcame a poor Monaghan side in difficult conditions.
Donegal had not lost there since 2009, defeated by Dublin, and once they got a goal before half-time they always looked good to secure a badly needed two points.
Monaghan didn't help themselves with some indiscipline, having Ryan Wylie seeing red while they also lost goalkeeper Rory Beggan to a black card.
Monaghan had full-forward Kieran Hughes at full-back to mark Michael Murphy as Donegal had the elements in their favour in the opening half.
It was a very cagey affair in the difficult underfoot conditions, the first score not coming until the 10th minute, Murphy fouled going for a ball and Patrick McBrearty, with his first start of the year, knocking over the free.
A minute later McBrearty added another from play from around the 45m line, but Donegal were finding it difficult as Drew Wylie was covering the centre in front of the full-back line.
Monaghan, though, were hit with a black card on 15 minutes, Ryan Wylie blocking Ciaran Thompson off the ball. Donegal, however, only hit one point during the 10 minute sin bin, Ciaran Thompson lofting a good score.
After an almighty hailstone shower, Monaghan got on the board thanks to great work from Conor Boyle, who played a one-two with Conor McManus before fisting over.
Four minutes from the break, Donegal took a grip with a well-finished goal by Caolan Ward, after Michael Langan saw him in space.
Conor McManus replied with a free but two Michael Langan points in the final minutes of the half had Donegal ahead by 1-5 to 0-2 at the break.
Donegal had a great start to second half with Patrick McBrearty cutting in to point on 44 seconds. Niall O'Donnell added another before Conor McCarthy had Monaghan's first point of the half on 41 minutes.
Patrick McBrearty set up Michael Langan to hit Donegal's eight point and an eight point lead a minute later.
Monaghan were reduced to 14 after Ryan Wylie picked up a yellow to go his black from the first half.
Conor McManus and Jack McCarron (2) had Monaghan points but Donegal put the game to bed on 55 minutes when Monaghan left Patrick McBrearty free. He was hauled down by Rory Beggan but got up to find Hugh McFadden in support and he was able to walk the ball to the net. To add to their misfortune Beggan was black carded which left Monaghan down to 13.
Kieran Hughes had a rare Monaghan point but Donegal responded with points from Niall O'Donnell and Michael Langan, his fourth of the game.
Michael Langan landed his fifth in added time and was then announced as man of the match.
Donegal: Shaun Patton; Caolan Ward (1-0), Neil McGee, Eoghan Bán Gallagher; Dáire Ó Baoill, Ryan McHugh, Odhrán McFadden Ferry; Hugh McFadden (1-0), Michael Langan (0-5); Paul Brennan, Ciaran Thompson (0-1), Caolan McGonagle; Patrick McBrearty (0-3(1f)), Michael Murphy, Peadar Mogan (0-1).
Subs: Niall O'Donnell (0-2) for P Brennan (33), Eoin McHugh for McFadden Ferry (38), Andrew McClean for McGonagle (55), Jeaic Mac Ceallabhui for Mogan (67), Eamonn Doherty for McBrearty (69)
Monaghan: Rory Beggan; Drew Wylie, Conor Boyle (0-1), Kieran Duffy; Karl O'Connell, Ryan Wylie, Micheal Bannigan; Darren Hughes, Niall Kearns; Ryan McAnespie, Conor McCarthy (0-1), Dessie Ward; Dermot Malone, Kieran Hughes (0-1), Conor McManus (0-2 (2f)).
Subs: Jack McCarron (0-3 (2f)) for Bannigan (ht), Chris McGuinness for D Hughes (50), Shane Carey for Malone (50), David Kirk for McAnespie (55), Colin Walshe for Beggan (66).
Referee: David Coldrick (Meath)