The hosts came within the width of a post of taking the lead after just eight minutes when Charles fired a first-time effort towards goal that came back off the upright.
They struck the same post again five minutes later, this time Nolito being denied by the woodwork having latched on to a cross inside the six-yard box.
Celta continued to push for the opening goal and almost got it shortly after the half-hour mark as Andreu Fontas rose highest inside the penalty area, but his header was just too high.
The breakthrough finally came for the hosts in the 38th minute, however, as Fabian Orellana slid an inch-perfect pass through for Nolito to sweep home at the back post.
Orellana was the creator again just a minute later as he split the defence with a through-ball to Charles, who stabbed it past the onrushing keeper to double his side's advantage.
The hosts began the second half as they ended the first, extending their lead even further less than a minute after the restart when Nolito got on the end of Jon Aurtenetxe's pass to slot home his second of the night.
The fourth goal swiftly followed in the 49th minute as Stefan Mitrovic turned the ball into his own net while trying to deal with a bouncing cross.
Rodriguez then denied Victor Perez in the 82nd minute to protect his side's three-goal lead, and that was how it stayed as Valladolid failed to climb out of the bottom three.