Gary Alexander's winner confirmed York's relegation to the Conference. City, without a win in 19 games, made the best possible start when Stuart Wise headed home Darren Dunning's cross after five minutes.
But O's defender Mark Peters levelled with a close-range header before Alexander notched the visitor's second on the stroke of half-time.
Ciaron Toner should have made it three on 87 minutes when he volleyed an Alexander cross against the bar.
York: Porter, Law, Wise, Wood, Merris, Arthur, Brass, Dunning, Stewart, Yalcin, George. Subs: Bell, Stockdale, Ashcroft, Staley, Davies.
Leyton Orient: Morris, Mackie, Peters, Zakuani, Barnard, David Hunt, Saah, Toner, Lockwood, Alexander, Scott. Subs: Harrison, Billy Jones, Purser, Ibehre, Cooper.
Referee: C Webster (Tyne & Wear).
