Spurs were heading to the fifth round after Son Heung-min put them ahead just before the hour mark, but substitute Boufal came off the bench to fire home in the 87th minute.
It means the tie will be settled by another game, to take place when both sides were due to be on their winter break from the Premier League.
Jose Mourinho, who celebrates his 57th birthday on Sunday, was three minutes away from a welcome win but the Saints were worthy of a draw after piling late pressure on.
But that was not enough to get the job done as Boufal slammed home a deserved equaliser.
They had an early chance to set a much better tone for their afternoon as Son was played in by Dele Alli, but the South Korean wastefully dragged his shot wide from a great position.
Son, albeit inadvertently, was again the reason Spurs did not go in front in the 28th minute as, after Moura had broken into the area, the ball ended up with Lo Celso, who put the ball into the back of the net.
However, it was deflected off Son, who was getting back to his feet in an offside position and the goal was ruled out.
Spurs’ pace was causing their hosts trouble and a slick counter-attack saw them presented with their best chance.
Son, Lo Celso and Alli were all involved as they moved it from back to front at speed and the England international slipped in Moura, whose low shot was saved by the feet of Angus Gunn.
Having been lucky to be on level terms, Southampton almost went ahead a minute later, but some brilliant defending from Japhet Tanganga denied them.
The Saints built on that and started the second half impressively and Ings again came within inches scoring.
Spurs were dispossessed after trying to pass out from the back and Kevin Danso found Ings at the near post and an instinctive flick rolled just wide.
Five minutes later Mourinho’s men were ahead in sublime style.
The move started in their own half as Lo Celso won possession and went on a mazy run, beating four men, before finding Lamela, who slipped Son in and this time the South Korean made no mistake as he drilled a low shot into the corner.
VAR had a close look, first for offside and then checking for a foul by Alli, but it was allowed to stand.
Southampton went all out for an equaliser and they had chances to find it, but Ings was unusually wasteful.
First he bent one wide from 20 yards and then missed a much better opportunity, sending a free header from Nathan Redmond’s cross wide.
The hosts kept coming, though, and were rewarded near the end as Boufal clinically slammed home Ings’ cross.