Tyler Hansbrough added 24 points and 10 rebounds for North Carolina, which won its 99th NCAA tournament game, breaking a tie with Kentucky for the most by any school.
Wayne Ellington scored 19 points and Danny Green added 13 for the Tar Heels (31-4), who reached the regional finals for the third straight year.
Jeremy Pargo led Gonzaga (28-6) with 16 points.
Now, we'll have a regional final with a little Duke-Carolina flavor. Oklahoma coach Jeff Capel used to play for the Blue Devils. He made one of the most famous shots in the Tobacco Road rivalry
- a running buzzer-beater from around 35 feet that tied the teams' 1995 matchup at Duke. The Tar Heels ended up winning in double overtime.
Gonzaga seemed determined to match the Tar Heels basket for spectacular basket early on. Green dunked along the baseline, and Josh Heytvelt answered seconds later with an alley-oop dunk. Green made a 3-pointer from the left wing, then Gonzaga's Austin Daye made one of his own at the other end.
At the first television timeout, the Tar Heels were 8-of-10 from the field and the fourth-seeded Bulldogs were 4-of-5. North Carolina led 19-12.
Lawson didn't seem slowed in the least by his much-discussed toe injury. He breezed past a defender for a layup to make it 23-16, then added an acrobatic layup while being fouled on a fast break to put the Tar Heels ahead 35-25.
North Carolina led by as many as 17 in the first half, and for a while it seemed the Tar Heels might go the entire half without a turnover. Ellington finally gave the ball away with an offensive foul with 5:53 to play.
The only blemish for North Carolina in the first half - 9-of-18 free throw shooting that enabled the Zags to stay in the game. Gonzaga cut the margin to single digits before Hansbrough scored inside just before the halftime buzzer to make it 53-42.