The match-winner for the home team, when they were down 2-3 with just over a minute of play left on the clock, was scored by Dutchman Robbert Kemperman through a deflection off a cross from right.
Just a minute earlier, UP had taken the lead again through India international Ramandeep Singh that put them 3-2 in front before Kemperman spoiled their chances.
It was the second time that Mumbai got a last-minute field goal, after the first one two days ago by Nikin Thimmiah which earned them a 3-3 draw against Ranchi.
UP had gone 2-0 ahead early in the match in the first quarter through Augustin Mazzili's field strike before the hosts drew level through two penalty corner goals from their drag-flick expert Harmanpreet Singh, one each in the second and third quarter of the game, at the MHAL Stadium.
The victory for Mumbai in their second match of the season and second one at home took their points tally to seven, three behind league leaders Kalinga Lancers.
Mumbai will stay at home for the third match running and take on defending champions Punjab Warriors on January 27, and UP will clash with Kalinga Lancers at Bhubaneswar in their second match on January 29.
Mumbai dominated for the first ten minutes without managing to score and then conceded a field goal that counts for two in the League in the 13th minute.
Australia's Edward Ockenden found Argentina's Augustin Mazzili with a short diagonal pass to his right and the latter slipped the ball under custodian David Harte's outstretched leg into the goal even as Ockenden made a forward dive for a timely deflection.
But by the time his stick connected the ball it had crossed the line and the goal was awarded to Mazzili. Down by two goals at the end of the first quarter, Mumbai continued to hold a slight edge in proceedings in the second quarter and were rewarded for their perseverance when they earned the first penalty corner of the game in the 24th minute.
Harmanpreet Singh's drag flick beat UP and India custodian P R Sreejesh all ends up to his left. UP also earned a short corner but Argentina's Rio Olympics gold medal winner and top scorer Gonzalo Peillat could not score off it and at half time UP led Mumbai 2-1.
Harmanpreet, who was a member of the Junior World Cup-winning Indian squad, got the equaliser one minute into the third quarter, in the 31st minute of the match, as his high drag-flick off the team's second penalty corner award found the roof of the net.
Mumbai had the upper hand with repeated raids into the rival half for the remainder of the quarter but could not take the lead and the teams went into the fourth and final quarter with the score level at 2-2.
UP showed urgency to take the lead again and attacked from both flanks without succeeding to score and it was Mumbai who earned their third penalty corner which was reviewed by the visitors before the decision stayed.
However, this time Mumbai opted for a variation to get a field goal and the gamble failed. At the other end, Ockenden sent a lovely cross from the right and Ramandeep connected only to see Harte block the try.
But with just over a minute left on the clock, UP forced their second penalty corner which was reviewed by the home team, only to see the decision of the on-field umpire being proved correct.
Ramandeep made no mistake as he lay in wait near the left post to deflect in the drag-flick of Peillat that came to him via the stick of teammate Van Aubel Florent that put UP ahead 3-2.
It looked curtains for Mumbai after this goal, but not to be cowed down they attacked immediately and got the match-winning field goal through Kemperman who dived to deflect in a cross from the right by Gurmail Singh into the crowded goal area.