diff --git a/lib/cros_test.py b/lib/cros_test.py
index 1c13328..5b17ae2 100644
--- a/lib/cros_test.py
+++ b/lib/cros_test.py
@@ -55,6 +55,7 @@
 
     self.autotest = opts.autotest
     self.tast = opts.tast
+    self.tast_vars = opts.tast_vars
     self.results_dir = opts.results_dir
     self.test_that_args = opts.test_that_args
     self.test_timeout = opts.test_timeout
@@ -367,6 +368,8 @@
       if need_chroot:
         results_dir = path_util.ToChrootPath(self.results_dir)
       cmd += ['-resultsdir', results_dir]
+    if self.tast_vars:
+      cmd += ['-var=%s' % v for v in self.tast_vars]
     if self._device.ssh_port:
       cmd += ['%s:%d' % (self._device.device, self._device.ssh_port)]
     else:
@@ -545,6 +548,9 @@
   parser.add_argument('--tast', nargs='+',
                       help='Tast test pattern to run, passed to tast. '
                       'See go/tast-running for patterns.')
+  parser.add_argument('--tast-var', dest='tast_vars', action='append',
+                      help='Runtime variables for Tast tests, and the format '
+                      'are expected to be "key=value" pairs.')
   parser.add_argument('--chrome-test', action='store_true', default=False,
                       help='Run chrome test on device. The first arg in the '
                       'remote command should be the test binary name, such as '
@@ -624,6 +630,9 @@
     if not os.path.isdir(opts.build_dir):
       parser.error('%s is not a directory.' % opts.build_dir)
 
+  if opts.tast_vars and not opts.tast:
+    parser.error('--tast-var is only applicable to Tast tests.')
+
   if opts.results_src:
     for src in opts.results_src:
       if not os.path.isabs(src):
diff --git a/lib/cros_test_unittest.py b/lib/cros_test_unittest.py
index 93b305b..6fb24bc 100644
--- a/lib/cros_test_unittest.py
+++ b/lib/cros_test_unittest.py
@@ -375,6 +375,17 @@
         '(("dep:chrome" || "dep:android") && !flaky && !disabled)'
     ])
 
+  def testTastTestWithVars(self):
+    """Verify running tast tests with vars specified."""
+    self._tester.tast = ['ui.ChromeLogin']
+    self._tester.tast_vars = ['key=value']
+    self._tester.Run()
+    self.assertCommandContains([
+        'tast', 'run', '-build=false', '-waituntilready',
+        '-extrauseflags=tast_vm', '-var=key=value', 'localhost:9222',
+        'ui.ChromeLogin'
+    ])
+
   @mock.patch('chromite.lib.cros_build_lib.IsInsideChroot')
   def testTastTestWithOtherArgs(self, check_inside_chroot_mock):
     """Verify running a single tast test with various arguments."""
@@ -628,3 +639,10 @@
 
     # Parser error when a non-existent file is passed to --files.
     self.CheckParserError(['--files', 'fake/file'], 'does not exist')
+
+  def testParserVars(self):
+    """Verify we get parser errors when specifying vars with non-tast tests."""
+    self.CheckParserError([
+        '--tast-var', 'key=value', '--chrome-test', '--',
+        './out_amd64-generic/Release/base_unittests'
+    ], '--tast-var is only applicable to Tast tests.')
