Peter Harte’s goal 11 minutes from time gave Mickey Harte’s Tyrone their first Allianz League win of the season against Mayo.
Tyrone dominated but Mayo pulled within two points when substitute Cillian O’Connor goaled in the 50th minute.
But Tyrone stifled Mayo from start to finish and when Harte finished off a good move started by Seán Cavanagh with his goal, and Darren McCurry pointed soon after, the victory was secured.
After last week’s win away to Kerry, Mayo would have fancied themselves against a Tyrone side that was picked apart by Monaghan, but instead they were soundly beaten on their own patch.
All-Ireland champions Kerry also picked up their first win of the season against Derry.
In what was their first-ever match in Celtic Park, Kerry were never behind and led 0-10 to 0-7 at half time.
Derry captain Mark Lynch was given a red card after 51 minutes when his side were trailing by four points. Kerry were already in control but took advantage of the extra man to romp to a comfortable win, with Paul Geaney hitting 1-4 in the second period.
“We did not have the cutting edge up front, while their finishing was tremendous,” admitted Derry manager Brian McIver.
“But their goal should not really have been scored.”
Ulster sides Monaghan and Donegal also suffered Division One defeats.
In Division Two, Cavan held off Laois but Down failed to build on last week’s opening round victory, slipping to a four point defeat at home against Roscommon.
There was better news for the Ulster sides in Division Three with both Armagh and Fermanagh making it two wins from two in the league.
In Division Four, Antrim were edged out by a single point by Longford.
Division One: Dublin 2-10 Donegal 0-11; Derry 0-13 Kerry 1-17; Mayo 1-07 Tyrone 1-11; Monaghan 1-16 Cork 2-14
Division Two: Cavan 0-17 Laois 2-6; Roscommon 1-15 Down 1-11
Division Three: Sligo 0-12 Fermanagh 0-14; Wexford 1-08 Armagh 2-13
Division Four: Longford 0-14 Antrim 0-13