diff --git a/cmd/helm/version.go b/cmd/helm/version.go
index 64c66b348e64703152c585c3b057969517e31240..69e0f3905b5a1ae70797963e45b81f2fac26f118 100644
--- a/cmd/helm/version.go
+++ b/cmd/helm/version.go
@@ -25,6 +25,7 @@ import (
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
 
+	apiVersion "k8s.io/apimachinery/pkg/version"
 	"k8s.io/helm/pkg/helm"
 	pb "k8s.io/helm/pkg/proto/hapi/version"
 	"k8s.io/helm/pkg/version"
@@ -89,7 +90,6 @@ func newVersionCmd(c helm.Interface, out io.Writer) *cobra.Command {
 }
 
 func (v *versionCmd) run() error {
-
 	if v.showClient {
 		cv := version.GetVersionProto()
 		fmt.Fprintf(v.out, "Client: %s\n", formatVersion(cv, v.short))
@@ -99,6 +99,14 @@ func (v *versionCmd) run() error {
 		return nil
 	}
 
+	if settings.Debug {
+		k8sVersion, err := getK8sVersion()
+		if err != nil {
+			return err
+		}
+		fmt.Fprintf(v.out, "Kubernetes: %#v\n", k8sVersion)
+	}
+
 	resp, err := v.client.GetVersion()
 	if err != nil {
 		if grpc.Code(err) == codes.Unimplemented {
@@ -111,6 +119,16 @@ func (v *versionCmd) run() error {
 	return nil
 }
 
+func getK8sVersion() (*apiVersion.Info, error) {
+	var v *apiVersion.Info
+	_, client, err := getKubeClient(settings.KubeContext)
+	if err != nil {
+		return v, err
+	}
+	v, err = client.Discovery().ServerVersion()
+	return v, err
+}
+
 func formatVersion(v *pb.Version, short bool) string {
 	if short {
 		return fmt.Sprintf("%s+g%s", v.SemVer, v.GitCommit[:7])