De vlag van Esch werd op 30 januari 1973 bij raadsbesluit vastgesteld als de gemeentelijke vlag van de Noord-Brabantse gemeente Esch. De vlag is in het raadsbesluit als volgt beschreven:
Drie banen van blauw, geel en blauw, waarvan de lengten zich verhouden als 1:1:2; de banen verticaal geplaatst en de verhouding van hoogte en lengte van de vlag gesteld als 2:3, conform de maten van de Nederlandse vlag.
Een tekening van de vlag was bijgevoegd. De kleuren zijn ontleend aan het gemeentewapen. Het gemeentebestuur had ter vervanging van de tot dan toe als gemeentevlag gebruikte defileervlag uit 1935 twee voorstellen van de Hoge Raad van Adel ontvangen, waarvan dit er een was. Het andere vlagvoorstel was een gele essenboom op een blauw veld. De vlag werd voor het eerst bij het gemeentehuis gehesen tijdens de Sinterklaasintocht van 1973.
Op 1 januari 1996 is de gemeente Esch opgegaan in Haaren, waarmee de vlag als gemeentevlag kwam te vervallen. Op 9 oktober 1997 is de vlag als dorpsvlag voor Esch vastgesteld. Op 1 januari 2021 werd de gemeente Haaren opgeheven en opgedeeld over omliggende gemeenten, waarbij Esch bij Boxtel werd gevoegd.