The Union came from two goals back to take the lead, but gave away a late penalty to split the points.
Erik Hurtado put Vancouver in front inside the opening 20 minutes, and the Canadian outfit was up 2-0 at the break thanks to a Nicolás Mezquida goal at the end of the first half.
But the Union came out in the firing in the second half and had the lead erased by the 68th minute. Conor Casey pulled the first goal back in the 63rd, and Sebastien Le Toux leveled matters five minutes later.
The home side wasn't finished though, and Casey's 71st minute goal rounded out a frantic 10-minute spell and put the Union up 3-2. Midfielder Cristian Maidana assisted all three of Philadelphia's goals, setting a franchise record.
Despite the strong comeback, Vancouver managed to pull level in the 81st. Zac MacMath took out Darren Mattocks in the box and Pedro Morales struck from the penalty spot to assure his team of a point.