The 18-year-old Ferbane attacker helped himself to six points including the 68th minute leveller that denied Dublin in sensational fashion.
Dublin’s development panel are competing in the competition again this year under Paul Clarke as Jim Gavin’s three-in-a-row All-Ireland winners are on holidays.
Clarke’s crew led by four points with 10 minutes to go thanks in the main to 1-6 from Ballyboden ace Colm Basquel.
Basquel’s last score of the game in the 58th minute put Dublin 1-12 to 0-11 clear — but they couldn’t hold on.
Full-forward Johnson, only out of the minor ranks, picked off two crucial late points to bring his tally for the evening to a half dozen.
Both sides had chances to win it in injury-time with Offaly captain Anton Sullivan hitting the post and Gerry Seaver missing a free for Dublin.
The result leaves Stephen Wallace’s Offaly on the brink of the semi-finals after hammering Wexford by 16 points last weekend.
Dublin travel to Wexford themselves on Sunday and need to win by an even greater margin to steal top spot in the group.
Offaly opened the scoring in front of around 3,000 spectators with points from teenager Johnson and Sullivan.
But they found Dublin a tough nut to crack defensively as the Sky Blues poured back in numbers when Offaly attacked.
It left the visitors taking a series of pot shots from distance and, inevitably, they racked up the wides; 10 in the first-half to just one from Dublin.
Basquel, an All-Ireland senior medallist with club and county in 2016, and Killian O’Gara, were at the centre of Dublin’s best forward movements.
Basquel netted after six minutes to haul Dublin ahead for the first time and played a neat one-two with O’Gara in the buildup.
Then O’Gara pointed himself before Basquel followed his lead with a fisted effort.
Basquel added two more points from play in the half to bring his takings to 1-3.
O’Gara was best in a creative role and was involved in points for Kieran Doherty and Basquel again later in the half.
Brian Howard, outstanding at midfield in Dublin’s All-Ireland U-21 win in 2017, manned the centre of defence this time.
Johnson and Sullivan looked lively when in possession and scored 0-4 between them in the first-half but often found their options limited.
Jordan Hayes netted twice against Wexford in Offaly’s Round 1 win last weekend.
He couldn’t repeat those heroics though Declan Hogan did pop up from defence with a neat point for the Faithful.
Basquel closed out the first-half scoring after a clever interception to leave the Dubs 1-8 to 0-6 ahead.
O’Gara was replaced at the interval by Chris Carthy from St Maur’s — leaving Basquel as Dublin’s principal attacker.
He added three more points from frees after the restart though Offaly were a revitalised force in that period and scored three without reply at one stage.
Those scores, from Nigel Dunne, Johnson and Hayes, reduced Offaly’s to just two points, 1-9 to 0-10.
But back-to-back Dublin scores from Naomh Mearnog’s Shane Carthy and a Basquel free doubled their advantage.
Dublin looked all set for victory but couldn’t hold as Offaly doubled down and outscored Dublin by 0-5 to 0-1 in the last 10 minutes with Johnson inspiring them.
C. Basquel (1-6, 3 frees); S. Carthy (0-3, 1 free); K. O’Gara, G. Seaver, K. Doherty, C. Carthy (0-1 each).
C. Johnson (0-6); N. Dunne (0-4, 3 frees); A. Sullivan (0-2), D Hogan, J Hayes, J O’Connor, C Donohue (0-1 each).
A. Bunyan; R. McGowan, S. McMahon, G. Hannigan; D. Devereux, B. Howard, G. Seaver; E. O Conghaile, A. Elliot; S Carthy, G O’Reilly, K Doherty; C. Sallier, K. O’Gara, C. Basquel.
C. Carthy for O’Gara (h/t), N. Walsh for Doherty (42), R. Deegan for Elliot (50), K. Callaghan for Sallier (56), S. Ryan for O Conghaile (62), E. O’Brien for Howard (66).
A. Mulhall; D. Brady, J. Lalor, D. Hogan; D. Dempsey, S. Pender, C. Donohue; C. Dunne, S. Nally; J Hayes, A. Sullivan, M. Brazil; B. Allen, C. Johnson, S. Doyle.
P. McConway for Lalor (15), N. Dunne for Brazil (21), C. McNamee for C. Dunne (h/t), J. O’Connor for Doyle (h/t), B. O’Dea for Dempsey (61, BC), C. Doyle for S. Carthy (72).
B Cawley (Kildare).