The stabbing happened at St. Jude Thaddeus Catholic Church in Albuquerque just as mass was ending. Witnesses said the man charged into the church around noon, just after communion, yelled "fake preacher" and then started stabbing choir members.
Other church-goers subdued the suspect, later identified as 24-year-old Lawrence Capener.
Four people, including church choir director Adam Alvarez, flutist Gerald Madrid and two other parishioners, were injured in the attack. Officials said their injuries weren't life-threatening.
It is unknown what sparked the bizarre attack. Capener was interviewed by police and was expected to face felony charges.
The Associated Press contributed to this report.