It comes as an aid bill in Congress stalls and as Ukrainian troops run out of battlefield supplies.
The US will send $300m (£234m) in military weapons to Ukraine, including ammunition, rockets and anti-aircraft missiles, the White House has said.
The surprise announcement comes as a bill in Congress to send further aid to Ukraine stalls amid partisan debate.
The US shipment, the first in nearly three months, is intended to prevent Ukraine from losing ground to Russia.
National Security Adviser Jake Sullivan said this aid "is nowhere near enough to meet Ukraine's battlefield needs".
"This ammunition will keep Ukraine's guns firing for a period, but only a short period," Mr Sullivan told reporters on Tuesday, adding that "it will not prevent Ukraine from running out of ammunition."
Only 300m to fight an invader but 14b to butcher children and civilians in general? Wow Biden, much nice, you’re definitely the better option.
Edit: I’m definitely not pro-Trump, I’m just one of many, many fed up people who hoped for something other than a Biden-Trump rematch. But I guess fanatics gonna be fanatics.