diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index df1d630c89d783f05217d179f1067b80511f1138..cef23a52e34a8ed14aa233b1941dce911d32c0ce 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -272,4 +272,8 @@ module ProjectsHelper
       current_user.recent_push(@project.id)
     end
   end
+
+  def readme_cache_key
+    [@project.id, @project.commit.sha, "readme"].join('-')
+  end
 end
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index d642690153f8eeb0bc126e8efc411b3f0230aff8..5c2ac484cebfd6809286d5dbd2cff3a9641ea476 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -50,7 +50,8 @@
             = link_to namespace_project_edit_blob_path(@project.namespace, @project, tree_join(@repository.root_ref, readme.name)), class: 'light' do
               %i.fa.fa-pencil
       .wiki
-        = render_readme(readme)
+        = cache(readme_cache_key) do
+          = render_readme(readme)
   - else
     %h3.page-title
       This project does not have README yet