Huge crowds packed the capital Colombo's seafront park for the Mass, with some spending the night on the streets to make sure they got a good spot.
The pontiff arrived well ahead of time so he could spend a while greeting the crowd and left his "popemobile" to kiss the sick and handicapped several times.
As Francis declared Revd Joseph Vaz a saint bells rang out across the area.
St Joseph was a missionary who's credited with reviving the faith in Sri Lanka during a time of anti-Catholic persecution by Dutch colonists.
The pope said: "St Joseph shows us the importance of transcending religious divisions in the service of peace," Francis said in his homily, delivered in English and then translated for the crowd in both Sinhalese and Tamil.
"As the life of St Joseph Vaz teaches us, genuine worship of God bears fruit not in discrimination, hatred and violence, but in respect for the sacredness of life, respect for the dignity and freedom of others, and loving commitment to the welfare of all."
After mass Francis boarded a helicopter to fly to the northern city of Madhu to continue his tour of the country.
He's due in the Philippines tomorrow.
Watch the Pope's mass here: