diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.4.3
+
+Add `requestVersion` field to `Request`.
+
 ## 0.4.2
 
 The reaper thread for a manager will go to sleep completely when there are no connection to manage. See: https://github.com/snoyberg/http-client/issues/70
diff --git a/Network/HTTP/Client.hs b/Network/HTTP/Client.hs
--- a/Network/HTTP/Client.hs
+++ b/Network/HTTP/Client.hs
@@ -128,6 +128,7 @@
     , checkStatus
     , responseTimeout
     , cookieJar
+    , requestVersion
       -- ** Request body
     , RequestBody (..)
     , Popper
diff --git a/Network/HTTP/Client/Request.hs b/Network/HTTP/Client/Request.hs
--- a/Network/HTTP/Client/Request.hs
+++ b/Network/HTTP/Client/Request.hs
@@ -32,7 +32,7 @@
 import Data.Default.Class (Default (def))
 
 import Blaze.ByteString.Builder (Builder, fromByteString, fromLazyByteString, toByteStringIO, flush)
-import Blaze.ByteString.Builder.Char8 (fromChar)
+import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)
 
 import qualified Data.ByteString as S
 import qualified Data.ByteString.Char8 as S8
@@ -157,6 +157,7 @@
         , "  rawBody              = " ++ show (rawBody x)
         , "  redirectCount        = " ++ show (redirectCount x)
         , "  responseTimeout      = " ++ show (responseTimeout x)
+        , "  requestVersion       = " ++ show (requestVersion x)
         , "}"
         ]
 
@@ -203,6 +204,7 @@
                                 then throwIO exc
                                 else return (Just remainingTime, res)
         , cookieJar = Just def
+        , requestVersion = W.http11
         }
 
 instance IsString Request where
@@ -359,7 +361,13 @@
                     Nothing -> mempty
                     Just ('?', _) -> fromByteString $ queryString req
                     _ -> fromChar '?' <> fromByteString (queryString req))
-            <> fromByteString " HTTP/1.1\r\n"
+            <> (case requestVersion req of
+                    W.HttpVersion 1 1 -> fromByteString " HTTP/1.1\r\n"
+                    W.HttpVersion 1 0 -> fromByteString " HTTP/1.0\r\n"
+                    version ->
+                        fromChar ' ' <>
+                        fromShow version <>
+                        fromByteString "\r\n")
             <> foldr
                 (\a b -> headerPairToBuilder a <> b)
                 (fromByteString "\r\n")
diff --git a/Network/HTTP/Client/Types.hs b/Network/HTTP/Client/Types.hs
--- a/Network/HTTP/Client/Types.hs
+++ b/Network/HTTP/Client/Types.hs
@@ -390,6 +390,13 @@
     -- empty.
     --
     -- Since 0.1.0
+
+    , requestVersion :: HttpVersion
+    -- ^ HTTP version to send to server.
+    --
+    -- Default: HTTP 1.1
+    --
+    -- Since 0.4.3
     }
     deriving T.Typeable
 
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.4.2.2
+version:             0.4.3
 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
