Battling Bognor gained their second win in four days and a clean sheet to end their recent struggle to win at home - and go third in the table.
The goals came either side of the interval from Theo Widdrington and Richard Gilot as the Rocks won only their second home league game since November.
Mason Walsh was back as part of a full bench but Jimmy Muitt and Jimmy Wild were missing through injury. Widdrington returned to the line-up following his hamstring problem, having agreed a second month on loan from Bristol Rovers.
Dan Lincoln gathered a cross from the left by Taylor Miles inside the first minute - a relief to the home fans a week after Tonbridge scored at the Lane inside 30 seconds.
Chad Field was brought down by a Hornchurch defender just outside the box. Widdrington's dipping direct free-kick over the wall forced Calum Chafer into a diving save as he pushed it away with both hands. Glenn Wilson went down injured for the Urchins and Kenzer Lee replaced him.
Joe Tomlinson was brought down by Remi Sutton on 13 minutes and was booked. Then George Saunders received the ball from George Purcell before striking it low from long distance, committing Lincoln into a save down to his right on 15 minutes. A cross from the left bounced out to Purcell and on the volley he knocked his chance over the bar.
A long diagonal ball by Harvey Whyte found Bradley Lethbridge. He did his best to control it before firing over the bar on 19 minutes with just Chafer to beat. Alex Bentley and Sutton brought down Tomlinson but Widdrington's free-kick was cleared. Purcell's curling free-kick had to be palmed out one-handed by Lincoln for a corner, then he had to punch out the resultant corner.
Following Tomlinson's throw-in from the left, Lethbridge ran inside towards the middle of the Urchins half but his shot was always rising over the bar from 25 yards on 35 minutes. Lincoln and Field had a mix-up at the back, almost letting Purcell in, but Harvey Reed hacked away the loose ball.
Bognor sprang on the counter-attack but Lethbridge, having made it to the area, was blocked with a left-footed strike. Following the corner and Whyte’s knock-on Widdrington was brought down in the box by a defender. Widdrington took the penatly and sent the goalkeeper the wrong way, giving Rocks a 41st-minute lead.
Gilot went into the book on 43 minutes for kicking the ball away in the middle of the park. Miles hit a bobbling shot that Lincoln gathered easily. Tomlinson swung in a cross but Lethbridge couldn't quite get to it. Reed was blocked following another corner for Bognor before Doug Tuck on the rebound smacked it well over the bar. HT 1-0
Whyte ran down the right before passing square to Lethbridge, who tried to find Dan Smith with a forward pass, but the ball rolled out for a goal kick. Then Sutton's left-sided cross found Sean Marks for a free header but Lincoln saved. Whyte helped play in Gilot and the Frenchman, who has impressed since returning to the Lane, lashed it low and into the bottom corner from outside the box on 50 minutes. A diving Chafer couldn’t stop it from going in as it tucked nicely into the net for a 2-0 Rocks lead.
Reed went into the book on 60 minutes after he tripped Purcell on the run, but Purcell’s free-kick was straight into the wall. An injured Field had to be replaced on 61 minutes by Walsh, himself returning from injury. Purcell hit another stubbed shot straight at Lincoln on 65 minutes. Sutton's spinning cross from the left found Saunders in the area but he headed it wide.
Charlie Stimson directed a header wide of the post following Sutton's lofted forward ball. Lethbridgeset up Smith, but he belted it high over the bar. Tommy Scutt replaced Ed Sanders on 75 minutes for Bognor.
A corner from the right fell to Whyte, who struck it wide from the back post following Tomlinson's deep cross. Purcell turned inside before hitting a shot with his left foot and forcing Lincoln into a decent save on 78 minutes. Then Walsh won the ball cheaply in the centre of the field. He went on one of his signature surging runs before shooting low and forcing Chafer into another save.
Lincoln had to dash out to boot the ball out of play but he collided with Whyte, who was tracking back. Whyte was hurt but was able to play on. Saunders hit another effort low at goal but it was easily saved by Lincoln.
Scutt smashed one goalwards following hard work from Smith but it was deflected for a corner. That ended with Tuck crossing it towards the back post, but Whyte couldn't quite get there and it bounced out for a goal-kick.
Whyte slipped, allowing Purcell in, but he was blocked by the onrushing Lincoln - before another cross was headed wide by Marks. Hornchurch were proving wasteful and Lee headed wide as another left-sided cross curled into Bognor's area on 88 minutes.
Tuck was replaced by another injury returnee, Corey Heath, on 89 minutes. Purcell picked out Marks with a cross from the left. Marks' low header was saved well by Lincoln. The goalkeeper then held another Purcell cross which was flying towards goal.
A Saunders corner was punched away by Lincoln deep into stoppage time as Bognor held firm.
The Rocks will hope to continue their good form next Saturday when they travel to Bishop's Stortford.
Rocks: Lincoln, Sanders (Scutt 75), Tomlinson, Tuck (Heath 89), Field (Walsh 61), Reed, Whyte (c), Widdrington, Smith, Gilot, Lethbridge. Subs not used: McCormick, Osborne.