diff --git a/cmd/version.go b/cmd/version.go
new file mode 100644
index 0000000000000000000000000000000000000000..e6a4f12a05163b947131cc57bef853ddc0706c43
--- /dev/null
+++ b/cmd/version.go
@@ -0,0 +1,23 @@
+package cmd
+
+import (
+	"fmt"
+	"github.com/spf13/cobra"
+)
+
+var KubeBenchVersion string
+
+// versionCmd represents the version command
+var versionCmd = &cobra.Command{
+	Use:   "version",
+	Short: "Shows the version of kube-bench.",
+	Long:  `Shows the version of kube-bench.`,
+	Run: func(cmd *cobra.Command, args []string) {
+		fmt.Println(KubeBenchVersion)
+	},
+}
+
+func init() {
+	RootCmd.AddCommand(versionCmd)
+}
+
diff --git a/makefile b/makefile
index 2e1bc29cdbde5f23fa10c6a31bea6bd044fefb13..0b0bfaac0948dce63a0e12dc359e955d6f4e68d1 100644
--- a/makefile
+++ b/makefile
@@ -2,6 +2,7 @@ SOURCES := $(shell find . -name '*.go')
 BINARY := kube-bench
 DOCKER_REGISTRY ?= aquasec
 VERSION ?= $(shell git rev-parse --short=7 HEAD)
+KUBEBENCH_VERSION ?= $(shell git describe --tags --abbrev=0)
 IMAGE_NAME ?= $(DOCKER_REGISTRY)/$(BINARY):$(VERSION)
 TARGET_OS := linux
 BUILD_OS := linux
@@ -22,7 +23,7 @@ KIND_CONTAINER_NAME=$(KIND_PROFILE)-control-plane
 build: kube-bench
 
 $(BINARY): $(SOURCES)
-	GOOS=$(TARGET_OS) go build -o $(BINARY) .
+	GOOS=$(TARGET_OS) go build -ldflags "-X github.com/aquasecurity/kube-bench/cmd.KubeBenchVersion=$(KUBEBENCH_VERSION)" -o $(BINARY) .
 
 # builds the current dev docker version
 build-docker: