For even more control, use a custom ColorFunction in the 'bottom' plot that has the filling:
Show[Plot[{x^2, 2 x + 3}, {x, -3, 4}, Filling -> {1 -> {2}},
ColorFunction ->
Function[{x, y},
If[-1 < x < 3, RGBColor[0.817029, 0.811551, 0.899535],
RGBColor[1, 1, 1]]], ColorFunctionScaling -> False],
Plot[{x^2, 2 x + 3}, {x, -3, 4}]]
By changing the parameters if the If statement, you can make the filling be exactly where you want it.