The Saddlers got off to the perfect start when Rory Holden smashed home from the edge of the box in the third minute, but for the rest of the half the hosts dominated.
Aaron Martin and Jack Muldoon fired Harrogate into a deserved lead before half-time.
Walsall put the pressure on in the second half and after being denied a penalty for what seemed a clear handball, they were eventually given one in the 80th minute when Caolan Lavery was brought down.
Josh Gordon’s initial effort was saved but he followed up the rebound to equalise.
Substitute Danny Guthrie was sent off late-on for picking up two yellow cards but Walsall hung on for a point on their travels.
Darrell Clarke made one change to the Walsall side that beat Grimsby 1-0 on the opening day of League Two last week, starting in a 4-2-3-1 formation.
The injured Callum Cockerill-Mollett was not involved with Zak Jules taking his place on the field. Right-back Hayden White took the spare slot on the bench.
Simon Weaver’s Harrogate Town side started in a 4-2-2 formation, naming an unchanged side to the one that lost 3-0 to West Brom in the Carabao Cup in mid-week.
It was also the same starting XI that beat Southend United 4-0 in their League Two opener, meaning the hosts named the same team for a third game running.
Only six subs were named on the Harrogate bench.
The Saddlers started brightly and took the lead within three minutes. A long ball was chested down perfectly by Elijah Adebayo for Gordon who crossed back in the box for the striker - seeing his effort palmed away for a corner.
From the resulting corner, Holden was found on the edge of the box and after taking a first touch and moving the ball onto his left foot, he smashed an effort into the bottom left corner.
The hosts almost responded minutes later when Martin saw his header lash off the bar.
As Harrogate grew into the game, Cameron Norman made a goal-saving block from a Mark Beck shot that was destined for the back of the net.
The Walsall midfield was being bypassed at times as Harrogate neatly switched the play to either flank - resulting in some last-ditch Saddlers defending.
With an equaliser seemingly close, it finally came after 32 minutes when Martin tapped home from close-range after a swift Harrogate move. The cross came from Ryan Fallowfield from the right.
Walsall were again punished for some poor defending on the stroke of half-time when a long ball was nodded down into the path of Muldoon who slid in and finished beyond Liam Roberts.
With two minutes of added time before half-time, Dan Scarr had a header tipped over the bar by Joe Cracknell.
The sides went into half-time with Harrogate leading 2-1.
In the opening minutes of the second half, Harrogate continued where they left off with some dangerous set pieces - but none resulted in a goal.
Walsall matched Harrogate with a 4-4-2 on the hour mark as Holden moved out to the right.
In the 62nd minute, a slack Harrogate pass allowed Gordon to run at the defence and play Adebayo through on goal. The striker rounded the goalkeeper but as the angle tightened his effort hit the post.
After 70 minutes Walsall were unlucky not to have a penalty when Connor Hall seemed to control the ball with his hand in his own box. Despite the Saddlers pleading for a spot-kick, referee James Adcock was unmoved.
However, in the 80th minute Walsall were awarded a penalty when substitute Lavery was brought down as he turned his defender.
Gordon was fortunate after his penalty was saved but the rebound landed at his feet and he tapped home from close range to equalise.
With four minutes of normal time remaining, substitute Guthrie was sent off for a late challenge, picking up a second yellow card.
Despite that, Walsall hung on for a point as the game ended 2-2.
Walsall: Roberts, Norman, Scarr, Clarke, Jules, Kinsella, Bates (Guthrie, 54), Gordon, Holden (Osadebe, 83), McDonald, Adebayo (Lavery, 72).
Subs not used: Rose, White, Nurse, Sinclair.
Harrogate: Cracknell, Fallowfield, Smith, Hall, Burrell, Thomson, Falkingham, Kerry, Muldoon, Beck (Stead, 72), Martin.
Subs not used: Jones, Kirby, Walker, Minter, Lokko.