De vlag van Geffen werd op 11 oktober 1984 bij raadsbesluit vastgesteld als de gemeentelijke vlag van de Noord-Brabantse gemeente Geffen. De vlag is in het raadsbesluit als volgt beschreven:
Over eenderde van de vlaglengte gekwartileerd van geel en wit en over alles heen een blauw kruis met het snijpunt der armen op eenderde van de vlaglengte en een armdikte, gelijk aan 1/6 vlaghoogte; aan de broekzijde op het geel een rode vijfbladige roos en op het wit een rood molenijzer, beider figuren met een hoogte, gelijk aan 7/20 vlaghoogte.
De kleuren zijn ontleend aan het gemeentewapen, evenals de stukken. De indeling volgt die van het wapen, waarbij op de plaats waar op het wapen de H. Maria Magdalena staat, een blauw Scandinavisch kruis op de vlag is geplaatst.
Op 1 januari 1993 is de gemeente Geffen opgegaan in de nieuw opgerichte gemeente Maasdonk, waarmee de vlag als gemeentevlag kwam te vervallen. In 2015 is Maasdonk opgeheven, sindsdien valt Geffen onder de gemeente Oss.