The Belvedere ward of the London Borough of Bexley held a councillor by-election in September 2000 due to a resignation, where Francis was elected with 55% of the vote.[3] He won re-election in the subsequent 2002 and 2006 elections. During the 2010 council election, he instead ran for the Northumberland Heath ward where he lost. Returning to Belvedere ward, he successfully ran in the 2014, 2018, and 2022 elections.
Francis was the Cabinet Member for Transport and successfully fought for the extension of the Elizabeth line to Abbey Wood, and saved Welling to Victoria train services.[4]
He led the Labour group in Bexley Council from 2017 to 2021, and is currently the Shadow cabinet member for Finance and Corporate Services.