Clemens opened the game with three perfect innings with two strikeouts. Backed by two runs in the second, Clemens was credited with the win and earned the game's Most Valuable Player Award.
Higuera followed Clemens and allowed a hit and a walk with two strikeouts in three innings.
Five American League pitchers combined to allow five hits and a walk with seven strikeouts to help end the National League's two-game winning streak.
All three American League runs came on homers by Lou Whitaker and Frank White.
The American League scored two runs in the second off National League starter Dwight Gooden of the New York Mets. Dave Winfield of the Yankees doubled with two out and scored on a two-run homer by Detroit second baseman Whitaker.
But the actual decisive run came in the top of the seventh when pinch-hitter White of Kansas City homered off Mike Scott of the host Astros on a 0-and-2 pitch to make it 3-0. It was the 14th pinch-hit homer in All-Star Game history.
The National League scored two runs in the bottom of the eighth against knuckleballer Charlie Hough of the Texas Rangers.
San Francisco Giants third baseman Chris Brown opened the inning with a double, moved to third on a wild pitch and scored on a passed ball by Red Sox catcher Rich Gedman.
Montreal shortstop Hubie Brooks singled after Brown scored, moved to second on a balk by Hough and scored on a two-out single by Dodgers second baseman Steve Sax. The Yankees Dave Righetti replaced Hough and retired Astros first baseman Glenn Davis on a foul pop fly after Sax moved the tying run to second with a stolen base.
The National League threatened again in the bottom of the ninth. Cubs catcher Jody Davis and Pittsburgh right fielder Dave Parker hit back-to-back, one-out singles off Righetti to put runners at first and third with one out. Don Aase of the Baltimore Orioles came in on relief of Righetti and got Brown to ground into a check-swing, game-ending double play.
While Clemens won the MVP award with his three perfect innings, the pitching performance of the game belonged to Fernando Valenzuela of the Dodgers. Valenzuela struck out five straight American League hitters to match Carl Hubbell's historic feat in the 1934 All-Star Game. Following Gooden, Valenzuela allowed one hit in three innings with five strikeouts.
Each team got only five hits in the third straight All-Star Game dominated by pitching. No player had two hits. There were 19 strikeouts in the game with 12 by National League pitchers. Sid Fernandez of the Mets struck out the side in the eighth around two walks.
Tony Gwynn was voted into the starting lineup and went 0-for-3 as the Padres' lone representative in the game.