De contractiestelling van Banach is een belangrijk hulpmiddel in de theorie van de metrische ruimten. De stelling garandeert het bestaan en de uniciteit van dekpunten van zekere afbeeldingen van metrische ruimten naar zichzelf, en biedt een constructieve methode om die punten te vinden. De theorie is vernoemd naar Stefan Banach (1892–1945).
De contractiestelling van Banach is de bekendste en meest toegepaste dekpuntstelling, mede vanwege de erbij geleverde constructieve wijze waarmee het unieke dekpunt kan worden gevonden.
Zij
een gesloten interval en
een functie waarvoor een zekere
met
bestaat zodat voor alle
geldt:

dan heeft
precies één dekpunt, dat wil zeggen, er is precies één
met
.
Als met de Contractiestelling van Banach bewezen is dat er een dekpunt bestaat, kan dat punt gevonden worden als limiet van de rij

waarin
een willekeurig gekozen startwaarde is.
Een veel gemaakte fout is dat men slechts aantoont dat voor alle
geldt dat
.
Deze eigenschap is onvoldoende om tot het bestaan van een dekpunt te kunnen besluiten. Ook is het belangrijk dat het definitiegebied een gesloten interval is.
De stelling kan ook ruimer geformuleerd worden:
Zij
een volledige metrische ruimte en
zodanig dat voor alle
voor zekere
met
, dan heeft
precies één dekpunt.
We bewijzen de volgende stelling:
Als
,
en
,
dan heeft de differentiaalvergelijking

precies één oplossing op
als
voldoet aan de zogenaamde Lipschitzvoorwaarde

voor alle
, 
We schrijven de differentiaalvergelijking + randvoorwaarde in de volgende vorm:

Beschouw nu de afbeelding
die aan een continue functie
toevoegt de functie
, gedefinieerd door

We zoeken dus naar het dekpunt van
. (
is de banachruimte van continue functies op
met de supremumnorm)
![{\displaystyle \leq (b-a)\max _{t\in [a,b]}|g(t,f_{1}(t))-g(t,f_{2}(t))|\leq (b-a)k\max _{t\in [a,b]}|f_{1}(t)-f_{2}(t)|}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aaa0822390a75ad4c8162bc93268c213a68c415f)
Dus

Als
, volgt uit de contractiestelling bovenstaande stelling.
Deze eis kan worden weggelaten door het segment
te partitioneren in kleine deelsegmentjes
waarvoor geldt

Op elke van die segmentjes krijgen we een oplossing, die we uiteindelijk kunnen samenvoegen tot één globale oplossing op
.