diff --git a/Network/HTTP/Client.hs b/Network/HTTP/Client.hs
--- a/Network/HTTP/Client.hs
+++ b/Network/HTTP/Client.hs
@@ -17,6 +17,12 @@
 -- 'newManager' 'defaultManagerSettings'
 -- @
 --
+-- or using the 'braket' pattern with
+--
+-- @
+-- 'withManager' 'defaultManagerSettings'
+-- @
+--
 -- The next core component is a @Request@, which represents a single HTTP
 -- request to be sent to a specific server. @Request@s allow for many settings
 -- to control exact how they function, but usually the simplest approach for
@@ -56,6 +62,7 @@
     , Manager
     , newManager
     , closeManager
+    , withManager
       -- ** Connection manager settings
     , ManagerSettings
     , defaultManagerSettings
diff --git a/Network/HTTP/Client/Manager.hs b/Network/HTTP/Client/Manager.hs
--- a/Network/HTTP/Client/Manager.hs
+++ b/Network/HTTP/Client/Manager.hs
@@ -8,6 +8,7 @@
     ( ManagerSettings (..)
     , newManager
     , closeManager
+    , withManager
     , getConn
     , failedConnectionException
     , defaultManagerSettings
@@ -31,7 +32,7 @@
 
 import Control.Monad.IO.Class (MonadIO, liftIO)
 import Control.Monad (unless)
-import Control.Exception (mask_, SomeException, catch, throwIO, fromException, mask, IOException, Exception (..), handle)
+import Control.Exception (mask_, SomeException, bracket, catch, throwIO, fromException, mask, IOException, Exception (..), handle)
 import Control.Concurrent (forkIO, threadDelay)
 import Data.Time (UTCTime (..), Day (..), DiffTime, getCurrentTime, addUTCTime)
 import Control.DeepSeq (deepseq)
@@ -243,6 +244,12 @@
 closeManager' connsRef = mask_ $ do
     m <- I.atomicModifyIORef connsRef $ \x -> (Nothing, x)
     mapM_ (nonEmptyMapM_ safeConnClose) $ maybe [] Map.elems m
+
+-- | Create, use and close a 'Manager'.
+--
+-- Since 0.2.1
+withManager :: ManagerSettings -> (Manager -> IO a) -> IO a
+withManager settings = bracket (newManager settings) closeManager
 
 safeConnClose :: Connection -> IO ()
 safeConnClose ci = connectionClose ci `catch` \(_ :: IOException) -> return ()
diff --git a/http-client.cabal b/http-client.cabal
--- a/http-client.cabal
+++ b/http-client.cabal
@@ -1,5 +1,5 @@
 name:                http-client
-version:             0.2.0.3
+version:             0.2.1
 synopsis:            An HTTP client engine, intended as a base layer for more user-friendly packages.
 description:         This codebase has been refactored from http-conduit.
 homepage:            https://github.com/snoyberg/http-client
