We present a new unbiased algorithm that estimates the expected value of f (U ) via Monte Carlo simulation, where U is a vector of d independent random variables, and f is a function of d variables. We assume that f does not depend equally on all its arguments. Under certain conditions we prove that, for the same computational cost, the variance of our estimator is lower than the variance of the standard Monte Carlo estimator by a factor of order d. Our method can be used to obtain a low-variance unbiased estimator for the expectation of a function of the state of a Markov chain at a given time-step. We study applications to volatility forecasting and time-varying queues. Numerical experiments show that our algorithm dramatically improves upon the standard Monte Carlo method for large values of d, and is highly resilient to discontinuities.