SAN FRANCISCO -- Garrison Hearst put an astonishing end to a dramatic passing duel, breaking free for a 96-yard touchdown run, lifting the San Francisco 49ers to a 36-30 overtime win over the New York Jets on Sunday.
It was the longest run from scrimmage in 49ers history and upstaged the battle between Steve Young and Glenn Foley, who was making his first opening day start. It even overshadowed Jerry Rice's return from two serious knee injuries that had sidelined most of last season.
A Jets punt pinned San Francisco on its 4-yard line. On the first play, Hearst burst off right tackle, shed a defender at the line of scrimmage, straight-armed another at about the 20 before shaking free of one more at midfield. Picking up blockers, he ran down the right sideline with Terrell Owens clearing the way, and was knocked into the end zone by Mo Lewis' desperation tackle.
The teams put up staggering numbers, combining for 1,003 yards on offense, 557 for the 49ers.
Young, coming off his sixth passing title, was 26-for-46 for 363 yards and three touchdowns. Foley outdid him in everything but the score, completing 30 of 58 for 416 yards and three touchdowns.
Hearst finished with 187 yards and two touchdowns. Curtis Martin, signed as a free agent, had 58 yards on 22 carries in his first game for the Jets.
J.J. Stokes made a leaping 32-yard grab in front of rookie Kevin Williams with 1:26 left in regulation, putting San Francisco up 30-27.
But Foley rallied the Jets, putting together a 60-yard drive keyed by a 19-yard completion to Dedric Ward. John Hall kicked a 31-yard field goal, his third of the day, with no time left in regulation.
The game was an exhausting duel pitting San Francisco's marquee veterans and the Jets' rising stars in Foley, Keyshawn Johnson and Wayne Chrebet.
Rice, running his routes with speed and precision, showing no effects from what amounted to a year of constant rehabilitation, flashed his old form on a 14-yard touchdown.
Rice took a pass near the sideline, then put on the brakes and cut downfield, leaving cornerback Ray Mickens grasping air as he ran into the end zone, where he drew hugs from teammates and handshakes from front-row fans.
Jason Ferguson brought an abrupt end to the celebration by blocking Wade Richey's conversion, leaving San Francisco a point behind.
Richey had booted a 22-yard field goal to tie it at 17, but the Jets pulled in front as soon as they got the ball again. Chrebet shook free on a 48-yard catch and run to the 49ers 30, and Foley hit Johnson with a 21-yard touchdown pass.
Foley threw a pair of second-quarter touchdowns, first connecting on a 41-yarder to Johnson and then hitting Chrebet from 6 yards with 33 seconds left to put the Jets up 17-14 at halftime.
The score came after Antonio Langham was called for pass interference on Johnson, a 26-yard penalty that negated Merton Hanks' interception. Two plays later, Chrebet beat Darnell Walker, starting in place of injured Marquez Pope, for the score.
Taking advantage of double coverage on Rice, Young tossed a 6-yard scoring pass to a wide-open Stokes in the back of the end zone for a 14-10 lead. Earlier, Johnson got past Hanks and Tim McDonald to haul in the deep strike from Foley.
New York scored first, getting a 24-yard field goal from Hall after Williams' interception and 34-yard return to the 49ers 27.
The 49ers answered with an 84-yard march during which Rice made his first reception, for 16 yards and a first down on his trademark slant pattern. Hearst's 5-yard touchdown run finished it off.
Rice caught six passes for 86 yards in his first game since fracturing his kneecap on Dec. 15, 1997. Stokes had seven receptions for 111 yards, while Johnson led the Jets with nine for 126 and Chrebet had six for 125.