A set piece proved to be Wrexham's undoing in a match they ought not to have lost
It came in the 56th minute when a right-sided corner was headed powerfully home by James Bell. Cranston's delivery was good and, from just outside the six yard box, Ball's terrific contact meant that Lainton did well to get a hand on it, but had no chance of keeping it out.
Wrexham came back strongly, but struggled to carve out clear opportunities despite the monopoly of possession they enjoyed from that point onwards.
The first half hour was a tense affair, with Wrexham's 4-5-1 allowing them to put pressure on the ball when the home side had possession. As a result Solihull were only to make a couple of half chances, both coming when right wing-back Tyrone Williams was able to drive forwards.
His first intervention ended in a driven cross which James Ball received 15 yards out, but his shot on the turn was too close to Lainton.
Soon afterwards Williams drove forwards again, but on this occasion his shot from the edge of the area was well blocked by Fiacre Kelleher.
Wrexham struggled to open Solihull's three-man defence up in the first half hour, despite enjoying considerably more of the ball, but that changed when a terrific effort by Paul Rutherford presaged a strong finish to the period.
Rutherford surged through the middle and hit a fine shot from 25 yards which a stretching Ryan Boot just managed to tip onto the underside of the bar, the ball bouncing just in front of the goal line and bouncing to safety.
Within moments, Wrexham were threatening again. A clever ball round the corner by Jake Bickerstaff, making his first league start, helped send Reece Hall-Johnson down the right and his driven cross flew across the goalmouth without anyone being able to get the vital touch.
Solihull old boy Jamie Reckord then went close, following a terrific cross from Reece Hall-Johnson. The left back arrived late and unmarked at the far post, but his header hit the side-netting.
The half ended with Kwame Thomas flicking on a free kick to Theo Vassell, who drove the ball over the bar from ten yards out.
Wrexham started the second half strongly, but against the run of play Ball snatched the decisive goal. The rest of the game was essentially attack against defence, although Cameron Archer had a late chance to double the lead when he headed a cross wide from 15 yards out.
Luke Young was looking lively in midfield and he slid two fine through passes into the Solihull box. The first one sent Thomas through on goal but Ryan Boot was quick off his line to block. The loose ball was worked to Jamie Davies, whose crisp shot from the edge of the box was well held by Boot.
Then, Young broke away purposefully again before teeing up Rutherford, who was denied by an excellent tackle from Darren Carter.
A succession of set pieces were played into Solihull's penalty area, but the frustration continued, especially when, with a quarter of an hour left, Ball handled a Young corner. Surprisingly the referee kept the whistle away from his lips.
Still the one-way traffic continued. An excellent pass by Davies set up Anthony Jeffrey, on for Bickerstaff, to cross, but when he picked out Rutherford, the winger couldn't get his shot away.
Elliott Durrell replaced Rutherford and Jordan Ponticelli came on for Jay Harris as Dean Keates looked for an equaliser, and in the six added minutes the pressure continued.
A terrific tackle by Kelleher allowed Vassell to tee up Durrell, whose fierce shot from the edge of the box was deflected just wide. Young's corner found Vassell 6 yards out, but his header went wide.
There was still time, as the additional period came to an end, for Rob Lainton to go up for a free kick, and he nearly got on the end of it, but the ball was flicked away. The corner led to a scramble, but when it came to nothing the final whistle went and Wrexham had suffered their first defeat of the season.
WREXHAM: Lainton; Hall-Johnson, Kelleher, Vassell, Reckord; Davies, Harris (Ponticelli 84), Young; Bickerstaff (Jeffrey 59), Thomas, Rutherford (Durrell 78). Unused subs: Dibble, Carrington.
SOLIHULL MOORS: Root; Gudger (Hancox 70), Howe, Carter; Williams, Storer, Gleeson, Cranston; Ball (Osborne 90, Sbarra (Maycock 78); Archer. Unused subs: Piggott, Clayton.
Solihull Moors: None
Referee: Thomas Parsons.