Mr Trump had boasted earlier this week that almost a million people had requested tickets for the event at Tulsa's Bank of Oklahoma Center.
But the 19,000-seat arena was far from full and plans for him to address an outside "overflow" area were abandoned.
There had been concerns about holding the rally during the pandemic.
Those attending the rally had to sign a waiver protecting the Trump campaign from responsibility for any illness. Hours before the event began, officials said six staff members involved in organising the rally had tested positive.
However, it is unclear why attendance was lower than initially anticipated. Mr Trump, who spoke for almost two hours on a range of topics, referred to those in the stadium as "warriors", while blaming the media and protesters for keeping supporters away. There were some volatile scenes outside the venue but no serious trouble was reported.