Houston Police Department spokesperson Kese Smith said Peterson was at a downtown nightclub early Saturday morning when an off-duty Houston police officer working security asked Peterson and a group of people he was with to leave because the club had closed.
Smith said the man identified himself as a police officer. The officer left to tell other patrons to leave the club before returning to Peterson's group again to tell it to leave.
Smith said Peterson turned around and told the officer that he heard him the first time and pushed him in the shoulder, causing him to stumble. The officer told Peterson he was under arrest and to put his hands behind his back. Peterson began yelling, pulled away and "assumed an aggressive stance," so another off-duty officer came to help. Peterson continued to struggle with both.
The 27-year-old player finally was handcuffed with the help of a third off-duty officer. Peterson complained of shortness of breath after he was taken to a Houston jail and was examined by Houston Fire Department personnel, who said he was OK.
Peterson, from Palestine, Texas, was released from jail Saturday on a $1,000 bond. The charge is a misdemeanor, and Peterson is due in court on Friday, according to the Houston Chronicle.
Peterson took to Twitter on Sunday and cited a Winston Churchill quote.
"'A lie gets halfway around the world before the truth has a chance to get its pants on,'" Peterson tweeted.
The star running back later posted: "Thank you for waiting for the facts. Truth will surface."
Team spokesman Bob Hagan said Saturday the Vikings "are aware of the situation and are gathering more information."
Peterson ran for 970 yards and 12 touchdowns last season before tearing the anterior cruciate and medial collateral ligaments in his left knee on Dec. 24. The injury-shortened season broke a streak of four straight seasons with at least 1,200 yards rushing for the former Oklahoma standout.
Information from The Associated Press was used in this report.