Canabarro had ancestry from the Azores region of Portugal. He was born to José Martins Coelho of Porto Alegre and Dona Mariana de Jesus Ignacia of Santa Catarina Island. The surname "Canabarro" came from his grandfather, Manuel Teodósio Ferreira, who received the nickname Marquis Alegrete and added this title to his name.
Canabarro began his military career in the First campaign cisplatin in 1811–1812. David, at the age of fifteen, asked his father's permission to take his brother's place. Canabarro fought for the forces of noble Don Diogo de Sousa, conde de Rio Pardo. After the campaign he was promoted to Ensign and returned home, though later he would fight in the War Artigas from 1816 to 1820.
Years later he was a lieutenant in the forces of Bento Gonçalves in the Cisplatine War in 1825–1828, which culminated in a peace treaty in August 1828 and the independence of Uruguay. There he played an important role in the Battle of Rincon de las Gallinas, saving the Brazilian army on September 24, 1825. This earned him the title of Army lieutenant. He took part in the 21st Light Cavalry Brigade commanded by Bento Gonçalves and the undecided Battle of the Pass of Rosario. When the war ended, he continued his military career, this time associated with his uncle Antonio Ferreira Canabarro in the resort border of Santana of Deliverance. By 1836, he adopted the name David Canabarro at the insistence of his uncle. As suggested by historian Ivo santanese Caggiano: "he must have had some connection with the axes and ferreiras of Sabrosa. Consequently, the descendants of the noble Canavarros of Portugal must be the Canabarro of Brazil."
Canabarro was initially neutral in the Ragamuffin War. He later enlisted as a lieutenant, but quickly rose through the ranks, and took command in June 1843, when Bento Gonçalves quit the command and went on to serve under the orders of Canabarro. His only defeat in war was in the Battle of Porongos, which relaxed the peace negotiations he undertook with the Baron de Caxias. He was surprised by the troops of Mouringue and was defeated, notwithstanding his possession of the Black Lancers. While negotiating peace with the empire, Canabarro offered his services to Juan Manuel de Rosas, ruler of Argentina, who wanted to expand the borders of his country. In exchange for the cooperation of Ragamuffin, he would get help from Argentina to continue the battle against the empire. Canabarro responded by letter, where he stated his loyalty to the country. As head of the rebels he accepted the amnesty offered by the government in December 18, 1844 by the Duque de Caxias, called "the Peacemaker". In the negotiations on February 25, 1845, it was agreed that Republicans would choose the next president of the province. It was also agreed that the imperial government would be held to account for the republican government's debt; that rebel military officers who wished to join the imperial army would remain in their former posts, and that the prisoners would be pardoned.
David Canabarro has been portrayed as a character in film and television, played by Milton Mattos in the movie Netto Loses His Soul, and by Oscar Simch in the miniseries The House of Seven Women.