We are going through this with our 2 yo as well. Even though we probably have a different dynamic (6 wk old baby) in our mix, the situation is VERY similar.
Our bedtime struggles usually average around 2 hours a night (this better not go up an hour for each year she ages). We use a gate. We had to take all other furniture out of DD's room because she started pushing it over to the gate so she could climb over it. The last straw was when she sauntered into the living room one evening after having moved her play table over to the gate.
Right now, we are letting her camp out on the floor so she can see/hear us (our doors are directly across the landing from each other). She takes her blanket and pillow and lays them right up against the gate and lays down. This seems to calm her nerves a bit and is in addition to the rest of the nightly routine (book, night light, soft music). It usually works 4 out of 7 nights and for now is better than nothing. Sorry for the long story but wanted to let you know that you are not alone. Maybe a "camp out" would work for your son too?
Hope this helps. :-)