Los goles de Andriy Yarmolenko y Roman Yaremchuk habían puesto a una Ucrania segura y dominante 2-0 antes de que Callum McGregor descontara para los escoceses en el minuto 79.
El gol inyectó algo de confianza en Escocia, que puso de presión cerca del final, pero en el tiempo de descuento, el sustituto Artem Dovbyk finalizó un contraataque para asegurar la victoria.
Un entrenador de Ucrania emocionalmente agotado, Oleksandr Petrakov, dijo que su equipo había estado jugando para todos los que tenían problemas en casa.
"Jugamos por ellos, por los que luchan hasta la última gota de sangre, por los que sufren cada día", aseguró. "Dimos pequeños pasos hacia nuestro gran objetivo, tenemos el partido de Gales por venir y haremos todo lo que la gente espera que hagamos".
Jugamos por ellos, por los que luchan hasta la última gota de sangre, por los que sufren cada día
La competencia nacional en Ucrania se detuvo después de la invasión y los jugadores locales del país no han jugado fútbol competitivo desde diciembre, pero pudieron salir airosos en su visita a Escocia.
Los simpatizantes ucranianos, que llegaron desde todo el Reino Unido y de lugares tan lejanos como Australia y Estados Unidos para apoyar a su equipo, estaban jubilosos y, sin duda, muchos ahora planeaban extender su viaje a un fin de semana en el sur de Gales.
Y para Escocia fue un final amargo en sus esperanzas de una primera aparición en la Copa del Mundo en 24 años.
"Es una noche decepcionante. Hay que ser honesto, ganó el mejor equipo de la noche", dijo el entrenador Steve Clarke. "Ahora es una noche para sufrir, sufriremos juntos... Cuando pierdes un partido de esta magnitud, duele", agregó.