Solano teed the ball up, turned and volleyed home in a crowded penalty area after Mark Delaney flicked on Thomas Hitzlsperger's corner in the 53rd minute.
The goal left us staring at six straight defeats in the Premiership and frustrated after creating at least as many chances as the home side.
Thomas Sorensen was the busier of the two goalkeepers in the first half, most notably saving from Michael Brown at the near post after Fredi Kanoute's cushioned pass found the midfielder in space in the box.
The Dane also had to be lively to keep out Thimothee Atouba's effort and fielded more comfortable shots from Jermain Defoe and Brown.
At the other end, Paul Robinson had to be on his toes to keep out Carlton Cole from a narrow angle but that was about it as Villa's shooting mainly found the Holte End.
The game stepped up a gear in the second half and more happened in the first 15 minutes than in the first half.
Defoe sniffed out a chance from Pedro Mendes' cross that Sorensen was alive to and the striker flashed a shot just wide after one of his mazy runs cutting in from the left touchline.
But just as we looked on top and Villa out of sorts, Solano delivered his party piece, sparking new belief into his side.
Robinson soon made the save of the night to deny Solano, making up the ground from near to far post to keep the ball out and the Peru international tested the England number one again minutes later after cutting inside Atouba.
Play was soon down the other end again as Kanoute's header from Mendes' cross flashed wide with Sorensen beaten.
Robbie Keane and Calum Davenport entered the fray as Martin Jol went for broke and the pair combined with five minutes left only for Keane to volley over.
Reto Ziegler, also on as substitiute, this time at the interval for the injured Erik Edman, fired our last half-chance into the wall with two minutes left.
GUIDE TO THE ACTION
3mins: First effort of game, Defoe curler from 20 yards no problem for Sorensen.
13mins: Referee actually got in the way of a free-kick routine on the edge of the area, ball back in box, half-cleared to Brown, another low curler easy for Sorensen.
15mins: SAVE. Naybet slip let in Cole, narrow angle, worked a yard and shot low to Robinson's right, decent parry away with right hand.
16mins: Atouba nutmegged Delaney in box, Sorensen there for attempted curler from 16 yards.
22mins: Angel onto ball over the top, took shot early, dipping volley wide of the target.
24mins: Low cross from Brown found its way through to King, 10 yards out, didn't get hold of ball.
27mins: Hitzlsperger special from 30 yards flew just wide although Robinson saw all the way.
29mins: Kanoute fizzed cross in from right, Defoe made run to near post but Delaney there to clear.
38mins: CHANCE. Lovely cushioned pass from Kanoute into path of Brown, 10 yards out, tight angle, low shot to near post saved by Sorensen.
Half-time: Aston Villa 0, Spurs 0
Half-time: SUB. Ziegler for Edman.
48mins: SAVE. Decent move, Kanoute wide to Mendes, early ball into Defoe, worked a yard, shot on turn forced reaction save out of Sorensen.
53mins: Early ball down the left touchline from Atouba found Defoe one on one with Delaney, cut inside, fizzed shot just wide from 16 yards.
57mins: GOAL. Hitzlsperger corner flicked on by Delaney at near post, Solano able to flick ball up, turn on sixpence and volley home from close range.
Aston Villa 1, Spurs 0
58mins: PENALTY? Straight up other end from kick-off, Kanoute low cross into Defoe who went down under Mellberg challenge, penalty claims waved away.
60mins: SAVE. Cole skipped past Naybet into box, low cross all the way to far post met by Solano, Robinson somehow made up the yards to deflect close-range effort wide for corner.
63mins: Solano left Atouba on the floor faking to shoot, cut onto left foot, drilled to near post but Robinson had it covered.
64mins: Robinson raced out of area to clear as Cole broke offside trap.
68mins: CLOSE. Mendes whipped in cross from right, Kanoute beat Mellberg at near post, header flashed inches wide.
69mins: SUB. Keane for Mendes.
75mins: SUB. Barry for Hitzlsperger.
81mins: Cole burst down the left, past Pamarot, hit ball to near post area where Robinson palmed away to safety.
83mins: SUB. Davenport on for debut in place of Atouba.
85mins: Davenport flick set up chance for Keane but volleyed high and wide.
86mins: SUB. Moore for Solano.
88mins: Ziegler 30-yard free-kick straight into wall.
Final score: Aston Villa 1, Spurs 0
Line-ups: Villa: Sorensen, Samuel, De la Cruz, Delaney, Mellberg, McCann, Davis, Solano (Moore, 86), Hitzlsperger (Barry, 75), Cole, Angel. Subs: Postma, Whittingham, Ridgewell.
Spurs (4-4-2): Robinson, Pamarot, Edman (Ziegler, 46), King, Naybet, Mendes (Keane, 69), Brown, Carrick, Atouba (Davenport, 83), Kanoute, Defoe. Subs: Fulop, Redknapp, Davenport.
Referee: Chris Foy.
Nolberto Solano's wonderful strike left our efforts at Villa Park without reward on Monday night.