diff --git a/aws-lambda-haskell-runtime.cabal b/aws-lambda-haskell-runtime.cabal
--- a/aws-lambda-haskell-runtime.cabal
+++ b/aws-lambda-haskell-runtime.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 938688bc6c929451cf9326354de6c4b1e8575302e64a2bd413d0b921cd6b3549
+-- hash: a94e142a98f8f08c0890af48be2f41ce4599bba529d9cf4c006053139182b40e
 
 name:           aws-lambda-haskell-runtime
-version:        2.0.1
+version:        2.0.2
 synopsis:       Haskell runtime for AWS Lambda
 description:    Please see the README on GitHub at <https://github.com/theam/aws-lambda-haskell-runtime#readme>
 category:       AWS
diff --git a/src/Aws/Lambda/Runtime.hs b/src/Aws/Lambda/Runtime.hs
--- a/src/Aws/Lambda/Runtime.hs
+++ b/src/Aws/Lambda/Runtime.hs
@@ -5,6 +5,7 @@
 
 import Control.Exception.Safe.Checked
 import Control.Monad (forever)
+import System.IO (hFlush, stdout, stderr)
 import qualified Network.HTTP.Client as Http
 
 import Data.Aeson
@@ -68,6 +69,8 @@
                       , executionUuid = ""  -- DirectCall doesnt use UUID
                       }
   result <- callback lambdaOptions
+  -- Flush output to insure output goes into CloudWatch logs
+  flushOutput
   case result of
     Left err ->
       throw $ Error.Invocation err
@@ -81,3 +84,9 @@
 errorParsing :: Error.Parsing -> IO a
 errorParsing Error.Parsing{..} =
   error ("Failed parsing " <> errorMessage <> ", got" <> actualValue)
+
+-- | Flush standard output ('stdout') and standard error output ('stderr') handlers
+flushOutput :: IO ()
+flushOutput = do
+  hFlush stdout
+  hFlush stderr
