Get first X paragraphs, then output the rest
Seems like a huge hack to me but here's how to do it:
{# Split paragraphs using with a limit of 3 #}
{% set paragraphs = text|split('&lt;/p&gt;', 3) %}

{# Get an array containing the first 2 paragraphs, and convert it back to a string, adding missing closing tags  #}
{% set firstParagraphs = paragraphs|slice(0, -1)|join('&lt;/p&gt;') ~ '&lt;/p&gt;' %}

{{ firstParagraphs|raw }}

{# The rest of the text is here, due to the limit in the split filter #}
{{ paragraphs|last|raw }}

To adjust the number of paragraphs in your first group, just change the limit parameter of the join twig filter (this is a bit counter intuitive, see the Twig documentation to understand the logic).