Duke quarterback Ron Sally, playing like the man he replaced, completed 18 of 26 passes for 336 yards and two touchdowns to lift the Blue Devils past Virginia, 29-24, in the Atlantic Coast Conference opener for both teams today.

The victory, clinched with Mike Grayson's two-yard run with 59 seconds to play, boosted Duke's overall record to 1-2. Virginia fell to 0-3.

The Blue Devils trailed, 24-15, midway through the fourth period, but Sally completed two passes of more than 50 yards to set up two touchdowns.

Sally's totals were the second-best ever by a Duke quarterback. Bob Bennett, the injured player Sally replaced, threw for 469 yards last season against Wake Forest.

Duke took a 6-0 lead on two 37-yard field goals by Scott McKinney.

On their first possession, the Blue Devils started on their 10. But Sally exploited Virginia's injury-weakened secondary by hitting Ron Frederick at midfield for a 40-yard gain.

On the next play, Mike Grayson burst through a huge hole in the right side of the line for 10 yards. Three plays later, Sally connected with Glenn Tillery for a 23-yard gain. Tillery was standing amid five defenders at the 23 and was tackled immediately.

Moments later, Sally tried to loft a pass to Cedric Jones in the left corner of the end zone, but Carlos Lopez batted it away, so McKinney kicked his first field goal.

Virginia then held the ball for 14 plays but moved only to the Duke 38. Quarterback Gordie Whitehead, Derek Jenkins with a swing pass to penetrate Duke territory. But two penalties forced Virginia to give the ball up.

Jeff Walker's punt bounced out of bounds at the Duke five. Again operating from poor field position, the Blue Devils marched methodically on 13 plays to set up McKinney's second field goal and take a 6-0 lead with 8:37 left in the first half.

Virginia, which seemed content to rely on Quentin Walker's rushing, came back to take a short-lived lead just before the half.

After Greg Taylor ran 21 yards around the left side on a reverse to give Virginia a first down at its 45, Walker ran around the right end and tiptoed down the sideline before being knocked out of bounds at the one. Jenkins rushed for the score with 6:11 left in the half.

Taking advantage of a poor punt by Walker, the Blue Devils covered 59 yards on four plays on their next possession, with Sally's eighth completion of the day good to Jones for a 30-yard touchdown. Sally's attempted pass for the two-point conversion fell incomplete and Duke led, 12-7, at halftime.

The teams continued to trade the lead in the second half. Virginia went ahead, 14-12, the first time it got the ball after intermission.

After maneuvering from its own 27 to the 49, Virginia surprised Duke with an option pass. Whitehead pitched out to Darren Goode, who passed to Taylor for 36 yards to the Duke 14. Three running plays later, Jenkins ran around right end and scored from the two.

Duke retaliated immediately, benefiting from a pass interference call in the end zone against Darryl Reaves that moved the ball from the Virginia 42 to the one. But the Cav defensive front stiffened, turning back four successive line plunges.

On the fourth, the Blue Devils got a reprieve because the Cavaliers were offsides. But on the next play, Duke was called for illegal procedure and was forced to settle for McKinney's 23-year field goal and a 15-14 lead.

Virginia regained the lead five minutes later, when Morrison kicked a 40-yard field goal to end a nine-play, 46-yard drive.

The Cavaliers made it 24-15 after Ron Booker intercepted a screen pass and they went 65 yards in 10 plays. Eric Fears broke loose in the secondary and ran 14 yards for the touchdown.

Duke pulled within 24-22 in the fourth period as Sally moved the ball 80 yards on four passes.

On the second play of the drive, he hit Jones for 52 yards, and after an incomplete pass, threw a 25-yard scoring pass to Frederick with 8:51 left.

The Blue Devils regained the lead for good after Sally passed to Jones again, on a 58-yard play, to set up a two-yard touchdown run by Mike Grayson with 59 seconds to play.