Brian Hoyer finished strong for Cleveland after Jordan Palmer made a case for a job with Chicago — or another team.
Hoyer threw for 307 yards and came on down the stretch after Palmer dominated the first half, leading Cleveland to an 18-16 victory over Chicago on Thursday night.
Hoyer was intercepted twice. But he also led the Browns (3-1) on a 76-yard touchdown drive that made it a one-point game in the fourth quarter.
Punter Spencer Lanning kicked a 40-yard field goal with just over three minutes left following a fumble by Harvey Unga to make it 18-16.
Robbie Gould then missed a 57-yarder wide right with just over a minute left, and the Bears (2-2) lost after leading most of the way.
Signed two weeks ago after third-stringer Matt Blanchard broke a knuckle on his left, non-throwing hand, Palmer made the most of his opportunity with Jay Cutler and Josh McCown sitting out.
Palmer, the brother of Arizona QB Carson Palmer, helped the Bears build a 10-3 halftime lead, completing 11 of 17 passes for 111 yards before giving way to Trent Edwards.
Palmer led the Bears to a field goal on their first possession after Demontre Hurst intercepted Hoyer and connected with Joe Anderson on a 5-yard touchdown early in the second quarter.
But it was the Browns who finished the preseason on a winning note, with both teams resting their top players.
The Bears had said they would do just that, and wide receiver Brandon Marshall wasn't even at the stadium. He had an excused absence.
Marshall also voiced frustration on Tuesday about his recovery from offseason hip surgery and missed practice on Wednesday.
He is expected to be ready for the opener against Cincinnati, which is the first game of the Marc Trestman era.
The Browns didn't play Brandon Weeden, Trent Richardson and Joe Thomas, among others.
With backup quarterback Jason Campbell out with flu-like symptoms, Hoyer got the call for the Browns and completed 24 of 35 passes.
His second interception — by Sherrick McManis — led to a 44-yard field goal by Gould that increased Chicago's lead to 16-9 early in the fourth.
Hoyer then led the Browns on the go-ahead touchdown drive, finishing with a 14-yard TD pass to Dan Gronkowski with just under 7 minutes left.
The Browns went for two, and the pass got broken up, preserving a 16-15 lead for the Bears.
Cleveland went ahead on Lanning's 40-yarder after Unga fumbled and L.J. Fort made the recovery. Lanning was handling field goals after Shayne Graham injured his back early in the game.
Josh Gordon started for Cleveland and caught two passes for 77 yards.
The Browns want to keep him sharp, since he was suspended for the first two regular-season games for violating NFL's drug policy.
David Nelson made his first appearance since he tore the anterior cruciate ligament in his right knee in last year's opener with Buffalo, catching four passes for 54 yards. He signed a one-year deal with Cleveland.
Brandon Jackson, trying to solidify his spot as the No. 2 running back, had just 5 yards on five attempts. The Browns are thin at the position with Dion Lewis (surgically repaired left leg) and Montario Hardesty (leg) on injured reserve.
While Palmer looked sharp in the early going for Chicago, Edwards threw for 135 yards in the second half.
He led Chicago to the 3 on the first drive of the third quarter, only to settle for a field goal, and had some bad luck on an interception that James-Michael Johnson returned 23 yards for a touchdown on Chicago's next possession, making it 13-9.
The ball bounced off the hands of Chicago's Fendi Onobun.
Michael Ford, vying for the third running back spot with Armando Allen, ran for 48 yards on nine carries. Allen, who's been limited by a hamstring injury, had 39 yards on 10 attempts.