Glendale, AZ (Sports Network) - Alex Smith was nearly flawless on Monday night, as he had three touchdown passes to lead the San Francisco 49ers to a 24-3 beating of the Arizona Cardinals in an NFC West battle.

Smith had just one incompletion as he went 18-for-19 for 232 yards. He set an NFL record for the most completions with just one incompletion in a single game.

Michael Crabtree caught five passes for 72 yards and two touchdowns while Randy Moss also had a touchdown catch for the 49ers (6-2), who have won their past two and hold a two-game lead for the top spot in the NFC West.

John Skelton, making his second straight start in place of an injured Kevin Kolb, went 32-for-52 for 290 yards with an interception for the Cardinals (4-4), who have dropped four straight since opening the season with four consecutive wins.

"This was a big test for us tonight and everyone saw what happened," said Arizona head coach Ken Whisenhunt. "We didn't get the job done and we have to get this fixed. We have the guys to do it, so we're going to put this behind us and come back out for practice on Wednesday and get ready for our next game."

After an exchange of punts to start the game, San Francisco went on a lengthy drive to take the lead.

Starting at their 23, the 49ers marched across midfield before a 17-yard run from Frank Gore put the ball at the Arizona 25. Following an offensive holding call, Kendall Hunter rushed for five yards and Delanie Walker caught a pass for 23 yards down to the Arizona 7-yard line.

Three plays later, Smith snapped a quick, high pass to the right where Crabtree made a leaping catch for a 3-yard score and a 7-0 lead with 1:53 to play in the first quarter.

"We've been working so hard to be a threat in the red zone in practice the past couple of weeks," said Crabtree. "You don't get in there all that often so you have to take advantage. It's so important in the game and every game is so important, so you want to score when you get down there."

The 49ers added to their lead in the second quarter after starting a drive near midfield. On second down at the Arizona 39, Smith was sacked for an 8- yard loss to move the ball out of field goal range. However, Crabtree followed with a 22-yard catch and although he didn't move the chains, he did give David Akers a chance at a 43-yard field goal which he made for a 10-0 advantage with 5:58 to play in the first half.

Following another three-and-out from Arizona, San Francisco got the ball back at its own 32 with 4:27 to play before intermission. That was plenty of time for Smith to go to work as he continued his crisp passing to get the team into scoring position.

On 3rd-and-goal at the 9-yard line, he hit Crabtree near the Arizona seven and the wideout took it in to give the team a 17-0 lead going into the break.

Smith finished the first half a blistering 14-for-15 with 146 yards and two touchdowns.

The 49ers kept rolling in the second half, as they put more points on the board on their first touch. Starting at their own 20, a 30-yard catch-and-run from Crabtree got the ball past midfield. Three plays later, Smith hit Moss near the 40, and he made a move to get past two defenders before racing into the end zone for a 47-yard score and a 24-0 lead with 7:27 left in the third quarter.

Arizona came back with its first successful scoring drive of the game, a 14- play march that saw the team convert a fourth down, but ultimately stalled and concluded with a 28-yard field goal from Jay Feely that made it a 24-3 game with 57 seconds left in the third.

The fourth quarter saw nothing but punts, as Arizona was unable to move the ball and the 49ers went to their run game to kill as much of the clock as possible.

Game Notes

Arizona plays in Green Bay next Sunday ... San Francisco is off next week and will return to play the following Sunday with a home game against St. Louis ... San Francisco has won six of the last seven games against Arizona and leads the series, 25-17 ... Arizona had just seven yards rushing in the game. It was the lowest for the team in one game since 1953 ... Andre Roberts led Cardinals receivers with seven catches for 65 yards ... Gore finished the game with 55 yards on 16 carries ... It was the fourth time in the past five weeks that the 49ers had not given up a touchdown in a game ... Moss has 155 touchdowns in his career and is just one away from tying Terrell Owens for fourth all-time.