11.33pm. The count in Granville is finally progressing, and the Liberals are staying in front: 39.7 per cent counted, 2.4 per cent ahead on the ABC projection, 3.0 per cent ahead on the two-candidate count of 19 out of 27 booths.

10.33pm. Oh yeah, the upper house. We’ve got about 37 per cent counted, and I think we’re looking at Coalition 11, Labor five, Greens three and one apiece for the Fred Nile group (on 3.1 per cent) and Shooters and Fishers (on 3.8 per cent). Pauline Hanson and John Hatton are falling short on 1.8 per cent and 1.2 per cent.

10.21pm. Seats still in play. Balmain, where Labor must first keep their nose in front of the Greens and then run down the Liberals on preferences – which I imagine they would. Macquarie Fields (Labor versus Liberal) and Wollongong (Labor versus independent) could go either way. The Liberals have their nose ahead in Oatley and Swansea, and late counting being what it is would probably be favoured to stay there. Labor with their nose in front in Toongabbie and East Hills. Snail’s pace count makes Granville impossible to call. That means I’ve got Liberal on 48, Nationals on 18, Labor on 16 and independents on two, plus eight doubtful. The doubtful seats include six Labor-versus-Liberal, one Labor-versus-independent and one Labor-Liberal-Greens.

10.02pm. Carmel Tebbutt looks home and hosed: 1.8 per cent ahead on the ABC projection, 1.9 per cent ahead on the two-candidate count of 24 booths out of 27: 13,109 to 12,162 in raw terms.

9.56pm. Slow count in Granville for some reason.

9.53pm. The ABC computer is projecting a 1.4 per cent win by the indepenent in Wollongong, but projections in Labor-versus-independent contests can be a bit speculative. On the raw two-candidate figure, with 22 booths added out of 29, he leads by 0.2 per cent. Against that, major parties tend to do better in late counting.

9.52pm. Wollongong: Luke Foley sounding optimistic about holding now.

9.28pm. Macquarie Fields: as the count has swollen from 50.5 to 71 per cent, the ABC projection has been locked on 50-50. No update for a while on the actual two-party count.

9.23pm. Monaro: lost sight of this one, but it looks like the Nationals are going to get up.

9.22pm. Toongabbie: I beg your pardon, my previous two mentions of this said he was behind – he is in fact ahead.

9.14pm. Macquarie Fields: the raw notional two-candidate count has the Liberals ahead by 2.0 per cent, but it’s lineball on the ABC projection.

9.05pm. Macquarie Fields: Labor has chased down a 0.6 per cent deficit as the count has risen from 35.6 to 50.5 per cent, with the result now lineball.

9.02pm. Kristina Keneally appears to make the mother of all concession speeches.

9.01pm. Oatley: Labor’s lead has shrunk from 1.7 to 0.6 per cent with only a small increase in the count, from 67.2 to 69.9 per cent.

8.57pm. Toongabbie: an increase in the count from 57.7 to 65.2 per cent has seen Nathan Rees’s deficit shrink from 0.8 per cent to 0.5 per cent.

8.55pm. Labor has made up a bit of ground in Swansea: count up from 69.3 to 72.5 per cent, Liberal lead down from 1.1 per cent to 0.7 per cent.

8.54pm. Labor’s lead in Kogarah has narrowed: count up from 52 to 60.2 per cent, lead down from 1.8 per cent to 1.2 per cent.

8.53pm. The Liberals have moved further ahead in Newcastle: count up from 62.9 to 70.3 per cent, lead up from 0.9 to 1.2 per cent.

8.50pm. Luke Foley confident Labor will win Marrickville, and Antony Green concurring. Interesting to see what Liberal preferences do.

8.34pm. Nathan Rees is apparently planning to speak: the ABC computer is actually projecting a 0.8 per cent lead for the Liberals in his seat of Toongabbie, although he has a 1.2 per cent lead on the raw two-party count of 11 booths.

8.26pm. It’s been noted the NSWEC site has Labor’s Matt Brown 4.5 per cent in front in Kiama, but this is the 2CP count from only four booths: based on the 19 booths that have submitted primary votes, the ABC computer is projecting a Liberal margin of 3.4 per cent.

8.25pm. The ABC computer has the Greens ahead in Balmain by 1.8 per cent, which I think is a projection from a primary vote count of 15 booths. There are 2PP results from four booths, and these add up to a 0.5 per cent Greens lead. However, this assumes Labor and the Greens will be the final two candidates, which looks unlikely: the figures are Liberal 33.3, Labor 30.4, Greens 30.0. I would assume that whichever out of Labor or the Greens finishes third will deliver the seat to the other on their preferences, but wiser heads than mine consider the Liberals still in the hunt.

8.19pm. The Greens really do have to ask themselves how, with Labor losing 13.3 per cent of their primary vote, they only managed to pick up 1.5 per cent.

8.15pm. Exit poll looking good. Phone pollsters seem to have again encountered the Labor-too-low, Greens-too-high issue we saw at the federal and Victorian elections.

8.13pm. Gladys Berejiklian was writing off the ABC results from Campbelltown earlier, but has evidently since been corrected. Peter Besseling has conceded defeat in Port Macquarie.

8.10pm. Labor at least has a high enough primary vote that it can hope for a sixth seat in the upper house.

8.09pm. Antony thinks the independent might still be a show in Blue Mountains.

8.05pm. Nationals margin in Port Macquarie now out to 6.9 per cent.

8.00pm. Hunter: Liberals still looking good in Newcastle, can add Charlestown as well now that significant figures are in, and are only slightly behind in Swansea. Yet Wallsend and Cessnock have swung very modestly and will stay with Labor.

7.59pm. Not sure what the story is in Campbelltown: with 21.2 per cent counted the ABC says 26.2 per cent swing and Liberal gain, but it appears that phenomenal swing will not be maintained when the figures are updated.

7.48pm. Labor has fallen into a hole in Monaro: Antony projects to 50.2-49.8. The raw figure of 55.1-44.9 has apparently inspired Sky News commentators to call it for the Nationals, but I believe they are jumping the gun.

7.46pm. Still early, but encouraging results for Nick Lalich in Cabramatta.

7.45pm. I thought Coogee was looking good for the Liberals, but the word is you won’t really be able to tell until Randwick booths are in.

7.44pm. Remarkably close three-way result in Balmain, with Labor on 33.1 per cent, Greens on 31.5 per cent and Liberal on 29.5 per cent. Projected Labor 2PP win by 2.1 per cent, if the Greens stay ahead of the Liberals (and I suppose there’s even a chance Labor could drop to third).

7.42pm. Nats still on track for a modest win in Port Macquarie. Tamworth and Dubbo in the bag. Torbay safe in Northern Tablelands, Greg Piper safe in Lake Macquarie. Another easy win for Clover Moore in Sydney. As far as I can see the only possible newcomer is Gordon Bradbery in Wollongong, and he is not home and hosed: Labor 36.4 per cent, Bradbery 29.7 per cent, Liberal 18.9 per cent. Bradbery will need strong preferences.

7.37pm. Labor retains: Auburn, Canterbury, Cessnock (amazingly small Nationals swing), Heffron, Liverpool, Monaro, Shellharbour, Wallsend. They are ahead early in Granville, Macquarie Fields, Maroubra and Marrickville. Cabramatta, Fairfield, Keira, Newcastle, Oatley, Kogarah, Swansea, Londonderry and Wyong are too close to call, in most cases leaning away from Labor. Nothing yet from Mount Druitt, almost nothing from Bankstown. I believe they’re looking at the high teens.

7.27pm. 34.6 per cent swing in Bathurst. 33.3 per cent swing in Ryde, compared with the election rather than the by-election. 27.3 per cent in Smithfield. 29.9 per cent in Strathfield. 22.1 per cent swing in Canterbury.

7.25pm. So your money would be on Labor in Marrickville, Liberal in Balmain and nothing for the Greens. Nathan Rees apparently looking set to hold Toongabbie. Massacre at Strathfield.

7.23pm. Nationals looking good in Port Macquarie: 51.4 per cent to Besseling’s 38.2 per cent with 13.7 per cent counted.

7.21pm. Gladys Berejiklian talking of unexpectedly high Liberal vote in Balmain, which would be encouraging for them because they were rated a chance. Luke Foley “excited” about Marrickville: swings of 3 to 5 per cent.

7.21pm. Maitland being called for Liberal.

7.17pm. Hunter: ABC calling Newcastle for Liberal: Lib 44.4, ALP 27.3, Grn 13.4, Ind 10.5. Liberals looking a big show on very early counting in Charlestown. Labor retains Wallsend and Cessnock; no votes from Swansea. Modest performance from touted independent in Wallsend.

7.16pm. A look of awe descends on Antony Green as he speaks of swings between 20 and 30 per cent.

7.15pm. Illawarra: ABC calling Wollongong for independent Gordon Bradbery; Libs gain Kiama and Heathcote; Labor retains Shellharbour; Labor retains Keira, though I’d want to see a few more votes.

7.13pm. ABC calling Port Macquarie for Nats on 4.1 per cent, but I’ll want to see more. Nats 48, Besseling 40.4.

7.11pm. Blue Mountains likely to go Liberal: their candidate well clear on 36.1 per cent with 4.1 per cent counted, Labor and Janet Mays mixing it on 22-23 per cent. Nationals take Bathurst with earth-shaking swing.

7.10pm. Limiting it to over 4 per cent counted, ABC computer calls Bathurst for the Nats, Blue Mountains, Heathcote, Menai and Mulgoa. Lower it to 3 per cent and add Kiama and The Entrance, as well as the Nationals gaining Port Macquarie. Labor seems to have retained Cessnock, though caution there should perhaps be advised. Luke Foley appears to believe Labor will win Marrickville.

7.04pm. No ABC computer results update in 10 minutes.

7.03pm. Steve Whan firming in Monaro.

7.00pm. Berejiklian not sounding confident about Keira. Luke Foley seems pleasantly surprised by the first booth from Marrickville.

6.58pm. ABC calling Oatley for Labor with 3.8 per cent counted, which would be a surprise.

6.58pm. ABC calling Port Macquarie for the Nationals with 3 per cent counted, but it also says “46.1 per cent swing”, so I think there might be a gremlin at work there. However, the Nationals have opened up a lead on the primary vote.

6.57pm. With over 2 per cent now counted, Greg Piper still looks in trouble from the Liberals – but Antony Green is advising extreme caution.

6.56pm. Early figures confirm expectations of John Tate bombing out in Newcastle.

6.55pm. Gladys Berejiklian talking confidently of a better than expected result for Labor, which is interesting as she has no ulterior motive now the votes have been cast.

6.53pm. ABC computer calling lots of Lib gains, but almost invariably with less than 1 per cent counted. I’ll be holding off on acknowledging them until I see 5 per cent counted.

6.52pm. Luke Foley apparently making dark prognostications about Balmain and Marrickville.

6.50pm. First Port Macquarie booth a lot more competitive: Peter Besseling 43.6 per cent, Leslie Williams 44.2 per cent. Projects to 1.3 per cent 2CP lead for Besseling. Only 164 votes counted though.

6.49pm. First booth in Dubbo shows Nationals candidate Troy Grant with a massive lead over independent member Dawn Fardell.

6.48pm. First Maroubra booth swings 13.6 per cent – Labor just in front.

6.47pm. Star performer in comments Eddieward calls Monaro for Labor.

6.46pm. General picture appears to be of a swing in the mid-teens; Labor might have feared worse. Swings: Mulgoa 15%, Heathcote 14%, Blacktown 12%. On that figure, John Robertson would be safe.

6.41pm. Richard Torbay apparently looking good in Northern Tablelands.

6.40pm. Only 100 votes, but the first booth in Londonderry has only swung 9 per cent.

6.36pm. Upper Hunter now merely “independent ahead” with 1.1 per cent counted. Moral of the story is that it takes reasonably solid figures before ABC projections settle down and become reliable.

6.35pm. The ABC computer is likewise calling Upper Hunter an independent gain off 0.7 per cent counted – again, don’t hold your breath. Mulgoa the first Liberal gain chalked up with 15.4 per cent swing and 0.5 per cent counted.

6.34pm. I feel the ABC computer might be jumping the gun a little in calling Blue Mountains an ALP retain on the basis of 0.1 per cent counted.

6.33pm. Antony Green reports only 1-2 per cent swing based on two booths in Monaro. Overall swing though about 12 per cent, recalling that these are small rural booths which are expected to swing relatively modestly.

6.29pm. I always say you know the fat lady is singing when spokespersons of one side or the other start complaining about the media. Julian Watson in comments reports Labor folk on Sky News doing so with a vengeance.

6.27pm. Apparently the exit poll “looked at seats in western Sydney, the Sutherland shire in southern Sydney, Central Coast and Lower Hunter”. I never know what to make of this – are the published figures what we should expect from a statewide result, or from the particular electorates targeted? If the latter, the figures are impossible to read unless you know which electorates were hit, and even then it takes a bit of work to calculate what swings they are pointing to.

6.25pm. I see the NSWEC has a straightforward table of main results for each electorate including swing figures, which is an awfully good idea. However, the swing results presumably won’t be booth matched, so the ABC remains the place to go.

6.20pm. Radio National is apparently reporting that Marrickville MP Carmel Tebbutt is working on her concession of defeat speach.

6pm. Polls have closed.

5.20pm. With 40 minutes to go before polls close, Sky News has published an exit poll which on two-party preferred maintains the iron rigidity of all polling conducted this year: the Coalition leads Labor 64-36. However, the primary vote has Labor at the higher end of market expectations and the Greens lower: Coalition 52 per cent, Labor 27 per cent, Greens 9 per cent. If accurate, that would maintain a pattern of recent polling, where the Labor primary vote tends to get underrated and the Greens overrated.