The number eight seed won 2-6 7-6(7/4) 6-1 in the first round of the $2.95m (£2.05m) event, his first victory in six years of trying.
But the highlight of the day was the defeat of Argentine Franco Squillari by 15-year-old Frenchman Richard Gasquet.
Gasquet beat the former French Open semi-finalist 7-6 (7/5) 3-6 7-5 to set up a possible meeting with Marat Safin.
Johansson looked to be headed for another early exit after losing the opening set at the principality's clay-court tournament.
But the 27-year-old, who leads the ATP Champions Race, responded by winning the second set on a tie-break.
Former world number two Norman, who has won just one match since undergoing hip surgery last year, fell apart in the third set as Johansson came through strongly.
Johansson now meets Stefan Koubek of Austria, who also fought back to beat Spain's Albert Montanes 4-6 6-2 6-4.
Sweden's Thomas Enqvist - the 14th seed - failed to join his fellow countryman in the second round as he was crushed 6-1 6-1 by Argentina's Juan Ignacio Chela.
Moroccan Hicham Arazi made it through to the second round by beating France's Arnaud Clement 6-3 6-3.
The world number 24, who finished runner-up at this event in 2001, secured victory after 76 minutes on an overcast opening day at the prestigious event.