It's best to think in terms of ratios, how much error is explained by $x$, how much is residual.
If we think of a super-simple regression with one independent variable and slope = 1, just $y = x + \epsilon$, then $\mathrm{Var}(Y) =\mathrm{Var}(X) + \mathrm{Var}(\epsilon)$. (Of course, using the assumption that the residual error $\epsilon$ is uncorrelated with $X$.) From that, it's straightforward that as the variance of $X$ increases, so does the variance of $Y$--if you observe a wider range of $X$ values, you'll also observe a wider range of $Y$ values.
However, we assume that the residual error is fixed, it doesn't change with $X$. And we know that R^2 is defined as the ratio of "explained variance" to "total variance". So
$$
R^2 = \frac{\mathrm{Var}(X)}{\mathrm{Var}(Y)} = \frac{\mathrm{Var}(X)}{\mathrm{Var}(X) + \mathrm{Var}(\epsilon)}
$$
And it's pretty clear that, given a fixed value of $\mathrm{Var}(\epsilon)$ as $\mathrm{Var}(X)$ increases the $R^2$ approaches 1.
This extends easily if the slope isn't equal to 1--the important assumption is that $\mathrm{Var}(X)$ and $\mathrm{Var}(\epsilon)$ are uncorrelated.
I find simulation a nice way to understand things too, you can see the effect with the following R code which simulates data for various values of $\mathrm{Var}(X)$ and $\mathrm{Var}(\epsilon)$, fits models, extracts the R squared values, and plots the results in a heatmap.
rsqd <- function(varx = 10, varresid = 3, n = 30, betax = 2) {
x <- rnorm(n, sd = sqrt(varx))
y <- betax * x + rnorm(n, sd = sqrt(varresid))
return(summary(lm(y ~ x))$r.squared)
}
vx <- 1:20
vr <- 1:20
results <- expand.grid(vx = vx, vr = vr)
results$rsq <- numeric(nrow(results))
for (i in 1:nrow(results)) {
results$rsq[i] <- rsqd(varx = results$vx[i], varresid = results$vr[i])
}
library(ggplot2)
ggplot(results, aes(x = vx, y = vr, fill = rsq)) + geom_tile()

Despite the model always being "right", if the variation in x is small but the residual error is large, the R-squared is quite low (upper left corner). The situation is reversed in the lower right, where the residual error is small compared to the variation of x, and thus compared to the variation explained by x.