diff --git a/openstackclient/identity/v2_0/token.py b/openstackclient/identity/v2_0/token.py
index a0433c9654..793354cf6f 100644
--- a/openstackclient/identity/v2_0/token.py
+++ b/openstackclient/identity/v2_0/token.py
@@ -18,6 +18,7 @@
 import logging
 import six
 
+from cliff import command
 from cliff import show
 
 
@@ -36,3 +37,24 @@ class CreateToken(show.ShowOne):
         token = identity_client.service_catalog.get_token()
         token['project_id'] = token.pop('tenant_id')
         return zip(*sorted(six.iteritems(token)))
+
+
+class DeleteToken(command.Command):
+    """Delete token command"""
+
+    log = logging.getLogger(__name__ + '.DeleteToken')
+
+    def get_parser(self, prog_name):
+        parser = super(DeleteToken, self).get_parser(prog_name)
+        parser.add_argument(
+            'token',
+            metavar='<token>',
+            help='Token to be deleted',
+        )
+        return parser
+
+    def take_action(self, parsed_args):
+        self.log.debug('take_action(%s)' % parsed_args)
+        identity_client = self.app.client_manager.identity
+        identity_client.tokens.delete(parsed_args.token)
+        return
diff --git a/openstackclient/tests/identity/v2_0/fakes.py b/openstackclient/tests/identity/v2_0/fakes.py
index 231fa1a5e7..e57a5b3006 100644
--- a/openstackclient/tests/identity/v2_0/fakes.py
+++ b/openstackclient/tests/identity/v2_0/fakes.py
@@ -90,6 +90,8 @@ class FakeIdentityv2Client(object):
         self.services.resource_class = fakes.FakeResource(None, {})
         self.tenants = mock.Mock()
         self.tenants.resource_class = fakes.FakeResource(None, {})
+        self.tokens = mock.Mock()
+        self.tokens.resource_class = fakes.FakeResource(None, {})
         self.users = mock.Mock()
         self.users.resource_class = fakes.FakeResource(None, {})
         self.ec2 = mock.Mock()
diff --git a/openstackclient/tests/identity/v2_0/test_token.py b/openstackclient/tests/identity/v2_0/test_token.py
index a156cdc641..e1967537b2 100644
--- a/openstackclient/tests/identity/v2_0/test_token.py
+++ b/openstackclient/tests/identity/v2_0/test_token.py
@@ -54,3 +54,24 @@ class TestTokenCreate(TestToken):
             identity_fakes.user_id,
         )
         self.assertEqual(data, datalist)
+
+
+class TestTokenDelete(TestToken):
+
+    TOKEN = 'fob'
+
+    def setUp(self):
+        super(TestTokenDelete, self).setUp()
+        self.tokens_mock = self.app.client_manager.identity.tokens
+        self.tokens_mock.reset_mock()
+        self.tokens_mock.delete.return_value = True
+        self.cmd = token.DeleteToken(self.app, None)
+
+    def test_token_create(self):
+        arglist = [self.TOKEN]
+        verifylist = [('token', self.TOKEN)]
+        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+        self.cmd.take_action(parsed_args)
+
+        self.tokens_mock.delete.assert_called_with(self.TOKEN)
diff --git a/setup.cfg b/setup.cfg
index 5a4fa743fe..a1252cb8fe 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -152,6 +152,7 @@ openstack.identity.v2_0 =
     service_show =openstackclient.identity.v2_0.service:ShowService
 
     token_create =openstackclient.identity.v2_0.token:CreateToken
+    token_delete =openstackclient.identity.v2_0.token:DeleteToken
 
     user_role_list = openstackclient.identity.v2_0.role:ListUserRole