How can I get rid of the "Name" field in a profile listing?
This question was asked 5 years ago on the old CiviCRM forum, here.

Here's a solution updated to work with CiviCRM 4.6.10:

templates/CRM/Profile/Page/Listings.tpl 
@@ -59,26 +51,30 @@
     &lt;table&gt;
       &lt;tr class="columnheader"&gt;
       {foreach from=$columnHeaders item=header}
-        &lt;th scope="col"&gt;
-        {if $header.sort}
-          {assign var='key' value=$header.sort}
-          {$sort-&gt;_response.$key.link}
-        {else}
-          {$header.name}
+        {if $header.sort neq 'sort_name' }
+          {if $header.sort}
+          &lt;th scope="col"&gt;
+            {assign var='key' value=$header.sort}
+            {$sort-&gt;_response.$key.link}
+           &lt;/th&gt;
+          {else}
+            {$header.name}
+          {/if}
         {/if}
-         &lt;/th&gt;
       {/foreach}
       &lt;/tr&gt;

       {counter start=0 skip=1 print=false}
       {foreach from=$rows item=row name=listings}
       &lt;tr id="row-{$smarty.foreach.listings.iteration}" class="{cycle values="odd-row,even-row"}"&gt;
-      {foreach from=$row key=index item=value}
+      {foreach from=$row key=index item=value key=field}
+        {if $field gt 1}
         {if $columnHeaders.$index.field_name}
           &lt;td class="crm-{$columnHeaders.$index.field_name}"&gt;{$value}&lt;/td&gt;
         {else}
           &lt;td&gt;{$value}&lt;/td&gt;
         {/if}
+        {/if}
       {/foreach}
       &lt;/tr&gt;
       {/foreach}