De vlag van Middelharnis is op 7 augustus 1986 bij raadsbesluit vastgesteld als de gemeentevlag van de Nederlandse gemeente Middelharnis, provincie Zuid-Holland. De vlag kan als volgt worden omschreven:
Negen banen van gelijke hoogte van geel en groen, met in de broektop een vierkant blauw veld ter hoogte van 4/9 van de vlaghoogte, beladen met een getuigd gaffelschip in wit.
De kleuren en tekening van de vlag wijken af van de gevoerde gemeentewapens.
Op 1 januari 2013 is Middelharnis opgegaan in de gemeente Goeree-Overflakkee. De vlag is daardoor als gemeentevlag komen te vervallen.