Given a collection of red and blue mobile vehicles scattered across two discrete horizontal grid lanes, we seek to move all the blue vehicles to the far left-hand side and all the red vehicles to the far right-hand side, thus \textit{physically sorting} them according to color. The vehicles move simultaneously at discrete time steps $T=0, 1, \ldots$, and must not collide with each other. Our goal is to design a centralized algorithm that controls the vehicles so as to sort them in the least number of time steps. We find an optimal algorithm for this problem and prove its correctness. Furthermore, we derive an \textbf{exact} lower bound for the amount of time it takes to sort the vehicles given any staring configuration. Our sorting algorithm matches this lower bound, thus it is instance optimal, attaining the best possible sorting time for any initial configuration.